[{"data":1,"prerenderedAt":760},["ShallowReactive",2],{"blog-\u002Fblog\u002F2023\u002F07\u002Fhow-to-build-a-opc-client-dashboard-in-node-red":3},{"id":4,"title":5,"body":6,"description":744,"extension":745,"meta":746,"navigation":755,"path":756,"seo":757,"stem":758,"__hash__":759},"blog\u002Fblog\u002F2023\u002F07\u002Fhow-to-build-a-opc-client-dashboard-in-node-red.md","How to Build an OPC UA Client Dashboard in Node-RED - Part 3",{"type":7,"value":8,"toc":732},"minimark",[9,24,34,37,42,50,75,78,86,90,103,106,114,121,139,142,146,149,164,167,171,174,180,183,188,195,202,213,220,226,229,235,238,244,266,272,279,285,299,318,321,326,329,340,344,347,354,357,367,377,397,417,428,435,455,462,468,475,482,485,491,495,498,505,508,524,527,541,551,565,583,586,592,596,599,605,608,622,638,655,662,676,679,682,688,692,695,703,716,720,723,726,729],[10,11,12,13,18,19,23],"p",{},"This article is the third and final part of our OPC UA content series. In the ",[14,15,17],"a",{"href":16},"\u002Fblog\u002F2023\u002F07\u002Fhow-to-deploy-a-basic-opc-ua-server-in-node-red\u002F","first article",", we cover some OPC UA fundamentals and walk through an example OPC UA Server flow. In the ",[14,20,22],{"href":21},"\u002Fnode-red\u002Fprotocol\u002Fopc-ua\u002F","second article",", we built a SSL-secured OPC UA server using data from an Allen Bradley PLC as a source.\nIn this article, we show how to build an OPC Client in Node-RED that communicates with a 3rd party OPC UA Server and utilizes an interactive dashboard.",[10,25,26,27,33],{},"This article will requires the ",[14,28,32],{"href":29,"rel":30},"https:\u002F\u002Fprosysopc.com\u002Fproducts\u002Fopc-ua-simulation-server\u002F",[31],"nofollow","Prosys OPC UA Simulation Server",", an application designed for testing OPC UA client applications and learning the technology.  It’s a free cross-platform application that supports Windows, Linux, and MacOS.  This article will use the Windows version.",[10,35,36],{},"Note: full source code for the OPC Client Dashboard is included at the end of the article.",[38,39,41],"h2",{"id":40},"custom-nodes-used-&-assumptions","Custom Nodes Used & Assumptions",[10,43,44,45,49],{},"Several custom nodes are required in order to properly deploy this flow.  For more detailed information on how to install a custom node, follow the instructions from an ",[14,46,48],{"href":47},"\u002Fblog\u002F2023\u002F06\u002Fnode-red-as-a-no-code-ethernet_ip-to-s7-protocol-converter\u002F","earlier article"," where the process on installing custom nodes is explained in detail.",[51,52,53,61,68],"ul",{},[54,55,56],"li",{},[14,57,60],{"href":58,"rel":59},"https:\u002F\u002Fflows.nodered.org\u002Fnode\u002F@flowfuse\u002Fnode-red-dashboard",[31],"@flowfuse\u002Fnode-red-dashboard",[54,62,63],{},[14,64,67],{"href":65,"rel":66},"https:\u002F\u002Fflows.nodered.org\u002Fnode\u002Fnode-red-contrib-opcua",[31],"node-red-contrib-opcua",[54,69,70],{},[14,71,74],{"href":72,"rel":73},"https:\u002F\u002Fflows.nodered.org\u002Fnode\u002F@flowfuse\u002Fnode-red-dashboard-2-ui-led",[31],"@flowfuse\u002Fnode-red-dashboard-2-ui-led",[10,76,77],{},"As this is not a production application, no security will be utilized, and it is assumed that the OPC UA Server is running on the same network as the Node-RED OPC Client.",[10,79,80,81,85],{},"Is it also assumed that the end user of this article has familiarization with dashboards.  There are many dashboard basic guides available on our FlowFuse website, For more infomation go to ",[14,82,84],{"href":83},"\u002Fblog\u002Fdashboard\u002F","Node-RED Dashboard 2.0 guides",".",[38,87,89],{"id":88},"install-and-deploy-the-prosys-opc-ua-simulation-server","Install and Deploy the Prosys OPC UA Simulation Server",[10,91,92,93,98,99,85],{},"The Prosys OPC UA Simulation Server is ",[14,94,97],{"href":95,"rel":96},"https:\u002F\u002Fprosysopc.com\u002Fproducts\u002Fopc-ua-simulation-server\u002Fevaluate\u002F",[31],"free to download",", but requires a sign-up process.  Download and install the server, then run the application.  Once the application is started, the first thing you should do is go to ",[100,101,102],"code",{},"options -> switch to expert mode",[10,104,105],{},"This will give us access to the address space tab, which we will need to develop our client application in Node-RED.",[10,107,108],{},[109,110],"img",{"alt":111,"dataZoomable":112,"src":113},"expert-mode.png","","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fexpert-mode.png",[10,115,116,117,120],{},"When the application is run, an endpoint url will be displayed on the ",[100,118,119],{},"status"," tab, along with an indication that the server is currently running.",[10,122,123,127,128,131,132,135,136,85],{},[109,124],{"alt":125,"dataZoomable":112,"src":126},"opc-endpoint-url.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fopc-endpoint-url.png","\nCopy the connection endpoint, but be warned that you will likely need to replace the computer name (in my case ",[100,129,130],{},"DESKTOP-0K0483A",", with the actual IP address of the machine running the server.  The IP address of the machine on my local network is ",[100,133,134],{},"192.168.0.141",", which changes my UA TCP endpoint address to ",[100,137,138],{},"opc.tcp:\u002F\u002F192.168.0.141:53530\u002FOPCUA\u002FSimulationServer",[10,140,141],{},"Now the simulation server is set up and we are ready to start developing the OPC Client application.",[38,143,145],{"id":144},"objectives-of-the-node-red-opc-client-dashboard-application","Objectives of the Node-RED OPC Client Dashboard Application",[10,147,148],{},"The goal is not to develop a production-level application, rather, it’s to show a variety of features that one can utilize to demonstrate common OPC UA Client application capabilities in Node-RED, while also demonstrating a variety of methods to visualize the results in a dashboard.  There are 4 main objectives of the Node-RED OPC Client Dashboard application. They are:",[150,151,152,155,158,161],"ol",{},[54,153,154],{},"Browse hierarchical server address space structure & display on a dashboard",[54,156,157],{},"Read OPC UA values from various namespaces, showing a variety of datatypes and different ways they can be visualized",[54,159,160],{},"Write OPC UA values back to the OPC UA server directly from the OPC UA Client dashboard",[54,162,163],{},"Read alarms & events from the OPC UA Server and display them on the dashboard",[10,165,166],{},"Rather than building the flow step-by-step, the flow source code will be presented for each objective, and a the flow will be explained so that it is understood what is happening in each section of code.",[38,168,170],{"id":169},"browse-hierarchical-server-address-space-structure-with-opc-ua-browser-node","Browse Hierarchical Server Address Space Structure With OPC UA Browser Node",[10,172,173],{},"The first flow will browse the hierarchical OPC UA Server address space structure and display it on the dashboard.",[10,175,176],{},[109,177],{"alt":178,"dataZoomable":112,"src":179},"image-20230727-085611.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fimage-20230727-085611.png",[10,181,182],{},"You can import this flow into Node-RED using the code below:",[184,185],"render-flow",{":height":186,"flow":187},"200","W3siaWQiOiJjYTYyYmUzZTAxMzg4MzE5IiwidHlwZSI6Imdyb3VwIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJuYW1lIjoiQnJvd3NlIEhpZXJhcmNoaWNhbCBBZGRyZXNzIFNwYWNlIFN0cnVjdHVyZSAmIERpc3BsYXkgb24gRGFzaGJvYXJkIiwic3R5bGUiOnsibGFiZWwiOnRydWUsImNvbG9yIjoiIzAwMDAwMCJ9LCJub2RlcyI6WyI2YjE3YjJkYTJiOTQyYmI0IiwiNjE3OTdlY2NmMjc4NTI1NyIsIjRkOTJkOTQwMTc3YjZlZTMiLCI2OGExMTNkNTg5M2I3YzAxIiwiZDBjOTY5YjZhNTlmYWMzYSIsIjYzOWRhMDFmYzk1N2U1NDciLCIyOTQzN2NhNzIyMmQ5YTY0IiwiNDk5ODNkNWRhMDk1OGJmMiIsIjQ5MDQwZDBjZjExNDRmMGEiLCJlN2M1NWY0MTJlZjg2NTQzIiwiZGUyMWI3YWQ5OGEwNTgzMyIsIjJkNTZlOWE0MzFjMjFhM2IiLCJhYzk1YmQwZTJiMzA0ZWVjIiwiNmZkYWJjYzI5NTBjY2Y0ZSIsIjFjNDlmYTUxNDJkMmNmMTciLCIzMzU4Nzg1MjcwMjA1OThjIiwiN2IyMDhmMmU4Y2JhNjIwNSIsIjUyZGQyZTVkY2RkYWQ1OGYiLCJhNWFjZGNjZmQyMDMzYWVjIiwiMTU3MzIyYzljMzYwNDQ2ZCIsIjc4YTAxMmU1ZGIzNzdmZDkiXSwieCI6OTQsInkiOjEzOSwidyI6MTE3MiwiaCI6NDIyfSx7ImlkIjoiNmIxN2IyZGEyYjk0MmJiNCIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NTUwLCJ5IjoyODAsIndpcmVzIjpbWyI0ZDkyZDk0MDE3N2I2ZWUzIiwiZDBjOTY5YjZhNTlmYWMzYSIsIjYzOWRhMDFmYzk1N2U1NDciXV19LHsiaWQiOiI2MTc5N2VjY2YyNzg1MjU3IiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2V0IEJhc2UgRm9sZGVyIFN0cnVjdHVyZSIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9LHsicCI6InRvcGljIiwidnQiOiJzdHIifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOiIwLjMiLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjoyODAsInkiOjI4MCwid2lyZXMiOltbIjZiMTdiMmRhMmI5NDJiYjQiXV19LHsiaWQiOiI0ZDkyZDk0MDE3N2I2ZWUzIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiU2ltdWxhdGlvbiBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLlNpbXVsYXRpb24ubm9kZUlkIiwicHQiOiJmbG93IiwidG8iOiJwYXlsb2FkWzJdLml0ZW0ubm9kZUlkIiwidG90IjoibXNnIn0seyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFsyXS5pdGVtLmJyb3dzZU5hbWUubmFtZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo4MzAsInkiOjIyMCwid2lyZXMiOltbIjMzNTg3ODUyNzAyMDU5OGMiXV19LHsiaWQiOiI2OGExMTNkNTg5M2I3YzAxIiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwibmFtZSI6IkRpc3BsYXkgb24gRGFzaGJvYXJkIiwiaW5mbyI6IiIsIngiOjExNDAsInkiOjE4MCwid2lyZXMiOltdfSx7ImlkIjoiZDBjOTY5YjZhNTlmYWMzYSIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwibmFtZSI6Ik15T2JqZWN0cyBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLk15T2JqZWN0cy5ub2RlSWQiLCJwdCI6ImZsb3ciLCJ0byI6InBheWxvYWRbNF0uaXRlbS5ub2RlSWQiLCJ0b3QiOiJtc2cifSx7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzRdLml0ZW0uYnJvd3NlTmFtZS5uYW1lIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjgzMCwieSI6MzQwLCJ3aXJlcyI6W1siNTJkZDJlNWRjZGRhZDU4ZiJdXX0seyJpZCI6IjYzOWRhMDFmYzk1N2U1NDciLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsIm5hbWUiOiJTdGF0aWNEYXRhIEZvbGRlciIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6Ik9iamVjdHMuU3RhdGljRGF0YS5ub2RlSWQiLCJwdCI6ImZsb3ciLCJ0byI6InBheWxvYWRbM10uaXRlbS5ub2RlSWQiLCJ0b3QiOiJtc2cifSx7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzNdLml0ZW0uYnJvd3NlTmFtZS5uYW1lIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjgzMCwieSI6MjgwLCJ3aXJlcyI6W1siN2IyMDhmMmU4Y2JhNjIwNSJdXX0seyJpZCI6IjI5NDM3Y2E3MjIyZDlhNjQiLCJ0eXBlIjoiT3BjVWEtQnJvd3NlciIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJlbmRwb2ludCI6IjUzZjQzOTRkYmYxMmM2YjciLCJpdGVtIjoiIiwiZGF0YXR5cGUiOiIiLCJ0b3BpYyI6IiIsIml0ZW1zIjpbXSwibmFtZSI6Ik9QQyBDbGllbnQgTmFtZXNwYWNlIEJyb3dzZSIsIngiOjU1MCwieSI6NDQwLCJ3aXJlcyI6W1siNDkwNDBkMGNmMTE0NGYwYSIsImU3YzU1ZjQxMmVmODY1NDMiXV19LHsiaWQiOiI0OTk4M2Q1ZGEwOTU4YmYyIiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2V0IFN0YXRpY0RhdGEgRm9sZGVyIFN0cnVjdHVyZSIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9LHsicCI6InRvcGljIiwidiI6Ik9iamVjdHMuU3RhdGljRGF0YS5ub2RlSWQiLCJ2dCI6ImZsb3cifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOiIwLjMiLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjoyNzAsInkiOjQ0MCwid2lyZXMiOltbIjI5NDM3Y2E3MjIyZDlhNjQiXV19LHsiaWQiOiI0OTA0MGQwY2YxMTQ0ZjBhIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiQW5hbG9nSXRlbUFycmF5cyBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLlN0YXRpY0RhdGEuQW5hbG9nSXRlbUFycmF5cy5ub2RlSWQiLCJwdCI6ImZsb3ciLCJ0byI6InBheWxvYWRbMV0uaXRlbS5ub2RlSWQiLCJ0b3QiOiJtc2cifSx7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzFdLml0ZW0uYnJvd3NlTmFtZS5uYW1lIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjg1MCwieSI6NDYwLCJ3aXJlcyI6W1siMTU3MzIyYzljMzYwNDQ2ZCJdXX0seyJpZCI6ImU3YzU1ZjQxMmVmODY1NDMiLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsIm5hbWUiOiJTdGF0aWNBcnJheVZhcmlhYmxlcyBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLlN0YXRpY0RhdGEuU3RhdGljQXJyYXlWYXJpYWJsZXMubm9kZUlkIiwicHQiOiJmbG93IiwidG8iOiJwYXlsb2FkWzZdLml0ZW0ubm9kZUlkIiwidG90IjoibXNnIn0seyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFs2XS5pdGVtLmJyb3dzZU5hbWUubmFtZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo4NjAsInkiOjQwMCwid2lyZXMiOltbImE1YWNkY2NmZDIwMzNhZWMiXV19LHsiaWQiOiJkZTIxYjdhZDk4YTA1ODMzIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiTXlEZXZpY2UgT2JqZWN0IiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoiT2JqZWN0cy5NeU9iamVjdHMuTXlEZXZpY2Uubm9kZUlkIiwicHQiOiJmbG93IiwidG8iOiJwYXlsb2FkWzBdLml0ZW0ubm9kZUlkIiwidG90IjoibXNnIn0seyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFswXS5pdGVtLmJyb3dzZU5hbWUubmFtZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo4MzAsInkiOjUyMCwid2lyZXMiOltbIjc4YTAxMmU1ZGIzNzdmZDkiXV19LHsiaWQiOiIyZDU2ZTlhNDMxYzIxYTNiIiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2V0IE15T2JqZWN0cyBPYmplY3QgU3RydWN0dXJlIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn0seyJwIjoidG9waWMiLCJ2IjoiT2JqZWN0cy5NeU9iamVjdHMubm9kZUlkIiwidnQiOiJmbG93In1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6dHJ1ZSwib25jZURlbGF5IjoiMC41IiwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MjcwLCJ5Ijo1MjAsIndpcmVzIjpbWyJhYzk1YmQwZTJiMzA0ZWVjIl1dfSx7ImlkIjoiYWM5NWJkMGUyYjMwNGVlYyIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NTUwLCJ5Ijo1MjAsIndpcmVzIjpbWyJkZTIxYjdhZDk4YTA1ODMzIl1dfSx7ImlkIjoiNmZkYWJjYzI5NTBjY2Y0ZSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsIm5hbWUiOiJTdG9yZSAmIFBhcnNlIG5vZGVJZCAmIGJyb3dzZU5hbWUiLCJpbmZvIjoiIiwieCI6ODUwLCJ5IjoxODAsIndpcmVzIjpbXX0seyJpZCI6IjFjNDlmYTUxNDJkMmNmMTciLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2xvYmFsIEFkZHJlc3MgU3BhY2UgRm9sZGVyIEJyb3dzZSIsImluZm8iOiIiLCJ4Ijo0MTAsInkiOjIyMCwid2lyZXMiOltdfSx7ImlkIjoiMzM1ODc4NTI3MDIwNTk4YyIsInR5cGUiOiJ1aS10ZW1wbGF0ZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJncm91cCI6ImVmOTk5OGJhZjVmNjFlOGEiLCJwYWdlIjoiIiwidWkiOiIiLCJuYW1lIjoiU2ltdWxhdGlvbiIsIm9yZGVyIjoxLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJoZWFkIjoiIiwiZm9ybWF0IjoiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtY29udGVudFwiPlxuICAgICAgICA8cD5OYW1lc3BhY2UgMzwvcD5cbiAgICAgICAgPHYtaWNvbiBjb2xvcj1cImJsYWNrXCIgaWNvbj1cIm1kaS1mb2xkZXJcIiBzaXplPVwibGFyZ2VcIj48L3YtaWNvbj4ge3sgbXNnLnBheWxvYWQgfX1cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+Iiwic3RvcmVPdXRNZXNzYWdlcyI6dHJ1ZSwicGFzc3RocnUiOnRydWUsInJlc2VuZE9uUmVmcmVzaCI6dHJ1ZSwidGVtcGxhdGVTY29wZSI6ImxvY2FsIiwiY2xhc3NOYW1lIjoiIiwieCI6MTExMCwieSI6MjIwLCJ3aXJlcyI6W1tdXX0seyJpZCI6IjdiMjA4ZjJlOGNiYTYyMDUiLCJ0eXBlIjoidWktdGVtcGxhdGUiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwiZ3JvdXAiOiJlZjk5OThiYWY1ZjYxZThhIiwicGFnZSI6IiIsInVpIjoiIiwibmFtZSI6IlN0YXRpY0RhdGEiLCJvcmRlciI6Miwid2lkdGgiOjAsImhlaWdodCI6MCwiaGVhZCI6IiIsImZvcm1hdCI6Ijx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWNvbnRlbnRcIj5cbiAgICAgICAgPHA+TmFtZXNwYWNlIDU8L3A+XG4gICAgICAgIDx2LWljb24gY29sb3I9XCJibGFja1wiIGljb249XCJtZGktZm9sZGVyLWFycm93LWRvd25cIiBzaXplPVwibGFyZ2VcIj48L3YtaWNvbj4ge3sgbXNnLnBheWxvYWQgfX1cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+Iiwic3RvcmVPdXRNZXNzYWdlcyI6dHJ1ZSwicGFzc3RocnUiOnRydWUsInJlc2VuZE9uUmVmcmVzaCI6dHJ1ZSwidGVtcGxhdGVTY29wZSI6ImxvY2FsIiwiY2xhc3NOYW1lIjoiIiwieCI6MTExMCwieSI6MjgwLCJ3aXJlcyI6W1tdXX0seyJpZCI6IjUyZGQyZTVkY2RkYWQ1OGYiLCJ0eXBlIjoidWktdGVtcGxhdGUiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwiZ3JvdXAiOiJlZjk5OThiYWY1ZjYxZThhIiwicGFnZSI6IiIsInVpIjoiIiwibmFtZSI6Ik15T2JqZWN0cyIsIm9yZGVyIjo1LCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJoZWFkIjoiIiwiZm9ybWF0IjoiPHRlbXBsYXRlPlxuICAgIDxwPk5hbWVzcGFjZSA2PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtY29udGVudFwiPlxuICAgICAgICA8di1pY29uIGNvbG9yPVwiYmxhY2tcIiBpY29uPVwibWRpLWZvbGRlclwiIHNpemU9XCJsYXJnZVwiPjwvdi1pY29uPiB7eyBtc2cucGF5bG9hZCB9fVxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT4iLCJzdG9yZU91dE1lc3NhZ2VzIjp0cnVlLCJwYXNzdGhydSI6dHJ1ZSwicmVzZW5kT25SZWZyZXNoIjp0cnVlLCJ0ZW1wbGF0ZVNjb3BlIjoibG9jYWwiLCJjbGFzc05hbWUiOiIiLCJ4IjoxMTEwLCJ5IjozNDAsIndpcmVzIjpbW11dfSx7ImlkIjoiYTVhY2RjY2ZkMjAzM2FlYyIsInR5cGUiOiJ1aS10ZW1wbGF0ZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJncm91cCI6ImVmOTk5OGJhZjVmNjFlOGEiLCJwYWdlIjoiIiwidWkiOiIiLCJuYW1lIjoiU3RhdGljQXJyYXlWYXJpYWJsZXMiLCJvcmRlciI6Mywid2lkdGgiOjAsImhlaWdodCI6MCwiaGVhZCI6IiIsImZvcm1hdCI6Ijx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlciBtbC0zXCI+XG4gICAgICAgIDx2LWljb24gY29sb3I9XCJibGFja1wiIGljb249XCJtZGktZm9sZGVyXCIgc2l6ZT1cImxhcmdlXCI+PC92LWljb24+IHt7IG1zZy5wYXlsb2FkIH19XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPiIsInN0b3JlT3V0TWVzc2FnZXMiOnRydWUsInBhc3N0aHJ1Ijp0cnVlLCJyZXNlbmRPblJlZnJlc2giOnRydWUsInRlbXBsYXRlU2NvcGUiOiJsb2NhbCIsImNsYXNzTmFtZSI6IiIsIngiOjExNDAsInkiOjQwMCwid2lyZXMiOltbXV19LHsiaWQiOiIxNTczMjJjOWMzNjA0NDZkIiwidHlwZSI6InVpLXRlbXBsYXRlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsImdyb3VwIjoiZWY5OTk4YmFmNWY2MWU4YSIsInBhZ2UiOiIiLCJ1aSI6IiIsIm5hbWUiOiJBbmFsb2dJdGVtQXJyYXlzIiwib3JkZXIiOjQsIndpZHRoIjowLCJoZWlnaHQiOjAsImhlYWQiOiIiLCJmb3JtYXQiOiI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1jZW50ZXIgbWwtM1wiPlxuICAgICAgICA8di1pY29uIGNvbG9yPVwiYmxhY2tcIiBpY29uPVwibWRpLWZvbGRlclwiIHNpemU9XCJsYXJnZVwiPjwvdi1pY29uPiB7eyBtc2cucGF5bG9hZCB9fVxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT4iLCJzdG9yZU91dE1lc3NhZ2VzIjp0cnVlLCJwYXNzdGhydSI6dHJ1ZSwicmVzZW5kT25SZWZyZXNoIjp0cnVlLCJ0ZW1wbGF0ZVNjb3BlIjoibG9jYWwiLCJjbGFzc05hbWUiOiIiLCJ4IjoxMTMwLCJ5Ijo0NjAsIndpcmVzIjpbW11dfSx7ImlkIjoiNzhhMDEyZTVkYjM3N2ZkOSIsInR5cGUiOiJ1aS10ZW1wbGF0ZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJncm91cCI6ImVmOTk5OGJhZjVmNjFlOGEiLCJwYWdlIjoiIiwidWkiOiIiLCJuYW1lIjoiTXlEZXZpY2UiLCJvcmRlciI6Niwid2lkdGgiOjAsImhlaWdodCI6MCwiaGVhZCI6IiIsImZvcm1hdCI6Ijx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlciBtbC0zXCI+XG4gICAgICAgIDx2LWljb24gY29sb3I9XCJibGFja1wiIGljb249XCJtZGktZm9sZGVyXCIgc2l6ZT1cImxhcmdlXCI+PC92LWljb24+IHt7IG1zZy5wYXlsb2FkIH19XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPiIsInN0b3JlT3V0TWVzc2FnZXMiOnRydWUsInBhc3N0aHJ1Ijp0cnVlLCJyZXNlbmRPblJlZnJlc2giOnRydWUsInRlbXBsYXRlU2NvcGUiOiJsb2NhbCIsImNsYXNzTmFtZSI6IiIsIngiOjExMDAsInkiOjUyMCwid2lyZXMiOltbXV19LHsiaWQiOiI1M2Y0Mzk0ZGJmMTJjNmI3IiwidHlwZSI6Ik9wY1VhLUVuZHBvaW50IiwiZW5kcG9pbnQiOiJvcGMudGNwOi8vMTkyLjE2OC41Ni4xOjUzNTMwL09QQ1VBL1NpbXVsYXRpb25TZXJ2ZXIiLCJzZWNwb2wiOiJOb25lIiwic2VjbW9kZSI6Ik5vbmUiLCJub25lIjp0cnVlLCJsb2dpbiI6ZmFsc2UsInVzZXJjZXJ0IjpmYWxzZSwidXNlcmNlcnRpZmljYXRlIjoiIiwidXNlcnByaXZhdGVrZXkiOiIifSx7ImlkIjoiZWY5OTk4YmFmNWY2MWU4YSIsInR5cGUiOiJ1aS1ncm91cCIsIm5hbWUiOiIgQWRkcmVzcyBTcGFjZSBGb2xkZXIgU3RydWN0dXJlIiwicGFnZSI6IjQ0ZDNmZWIyYTExNDNkN2IiLCJ3aWR0aCI6IjIiLCJoZWlnaHQiOiIxIiwib3JkZXIiOjEsInNob3dUaXRsZSI6dHJ1ZSwiY2xhc3NOYW1lIjoiIiwidmlzaWJsZSI6InRydWUiLCJkaXNhYmxlZCI6ImZhbHNlIn0seyJpZCI6IjQ0ZDNmZWIyYTExNDNkN2IiLCJ0eXBlIjoidWktcGFnZSIsIm5hbWUiOiJPUEMgVUEiLCJ1aSI6IjUzNTVlMGM0NzZmOWRhM2IiLCJwYXRoIjoiL29wY3VhIiwiaWNvbiI6ImhvbWUiLCJsYXlvdXQiOiJncmlkIiwidGhlbWUiOiI2MWVlZTZmYzYwMjgxYjliIiwib3JkZXIiOjEsImNsYXNzTmFtZSI6IiIsInZpc2libGUiOiJ0cnVlIiwiZGlzYWJsZWQiOiJmYWxzZSJ9LHsiaWQiOiI1MzU1ZTBjNDc2ZjlkYTNiIiwidHlwZSI6InVpLWJhc2UiLCJuYW1lIjoiTXkgRGFzaGJvYXJkIiwicGF0aCI6Ii9kYXNoYm9hcmQiLCJpbmNsdWRlQ2xpZW50RGF0YSI6dHJ1ZSwiYWNjZXB0c0NsaWVudENvbmZpZyI6WyJ1aS1ub3RpZmljYXRpb24iLCJ1aS1jb250cm9sIl0sInNob3dQYXRoSW5TaWRlYmFyIjpmYWxzZSwibmF2aWdhdGlvblN0eWxlIjoiZGVmYXVsdCJ9LHsiaWQiOiI2MWVlZTZmYzYwMjgxYjliIiwidHlwZSI6InVpLXRoZW1lIiwibmFtZSI6IkRlZmF1bHQgVGhlbWUiLCJjb2xvcnMiOnsic3VyZmFjZSI6IiMwMDk0Y2UiLCJwcmltYXJ5IjoiIzAwOTRjZSIsImJnUGFnZSI6IiNlZWVlZWUiLCJncm91cEJnIjoiI2ZmZmZmZiIsImdyb3VwT3V0bGluZSI6IiNjY2NjY2MifSwic2l6ZXMiOnsicGFnZVBhZGRpbmciOiIxMnB4IiwiZ3JvdXBHYXAiOiIxMnB4IiwiZ3JvdXBCb3JkZXJSYWRpdXMiOiI0cHgiLCJ3aWRnZXRHYXAiOiIxMnB4In19XQ==",[10,189,190,191,194],{},"To understand what is going on in this flow, we must refer back to the OPC UA Simulation Server ",[100,192,193],{},"Address Space"," tab.",[10,196,197,198,201],{},"When we browse the OPC Server base folder structure in Node-RED, we will be browsing everything included under the ",[100,199,200],{},"Objects"," tree.",[10,203,204,208,209,212],{},[109,205],{"alt":206,"dataZoomable":112,"src":207},"address-space.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Faddress-space.png","\nIn our flow, we get the base folder structure by using an OPC-UA Browser node, as shown, with an endpoint that points to our OPC UA Server endpoint url we grabbed earlier in this article.  It is also worth noting we leave the ",[100,210,211],{},"Topic"," blank.  By doing this, we will browse the entire folder structure by default.",[10,214,215,219],{},[109,216],{"alt":217,"dataZoomable":112,"src":218},"image-20230727-090252.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fimage-20230727-090252.png","\nThe configuration of the endpoint properties includes no security credentials, as shown below.",[10,221,222],{},[109,223],{"alt":224,"dataZoomable":112,"src":225},"endpoint-configure.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fendpoint-configure.png",[10,227,228],{},"Using the output of a debug node, we get from the OPC UA Browser yield a payload with an array of 5 objects.",[10,230,231],{},[109,232],{"alt":233,"dataZoomable":112,"src":234},"address-debug.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Faddress-debug.png",[10,236,237],{},"Each object returned represents the 5 objects that are in our OPC UA Server Objects tree.",[10,239,240],{},[109,241],{"alt":242,"dataZoomable":112,"src":243},"browse-payload-1.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fbrowse-payload-1.png",[10,245,246,247,250,251,254,255,258,259,262,263,85],{},"However, of those 5 objects, only 3 of them are folders that contain actual OPC values.  ",[100,248,249],{},"MyObjects",", ",[100,252,253],{},"Simulation",", and ",[100,256,257],{},"StaticData",".  We can ignore ",[100,260,261],{},"Aliases"," and ",[100,264,265],{},"Server",[10,267,268],{},[109,269],{"alt":270,"dataZoomable":112,"src":271},"address-space-folders-only.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Faddress-space-folders-only.png",[10,273,274,275,278],{},"So looking deeper into the payload of our global browse from the ",[100,276,277],{},"OPC UA Browser node",", we can drill down into the details and see how they correlate with the folders in the server.",[10,280,281],{},[109,282],{"alt":283,"dataZoomable":112,"src":284},"browse-node.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fbrowse-node.png",[10,286,287,288,290,291,294,295,298],{},"As shown above, element 2 in the array returned from the global browse corresponds to the ",[100,289,253],{}," folder.  And we are interested in two important values in this data-structure - the ",[100,292,293],{},"NodeId",", which is topic an OPC Client uses to point specific OPC values, and the ",[100,296,297],{},"browseName",", which is the name we see visually when we try to identify an OPC topic.  We can now use this logic to parse out this useful information using a change node.",[10,300,301,305,306,262,309,311,312,314,315,317],{},[109,302],{"alt":303,"dataZoomable":112,"src":304},"simulation-folder.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fsimulation-folder.png","\nThis change node is grabbing the ",[100,307,308],{},"nodeId",[100,310,297],{}," .  The ",[100,313,308],{}," is stored in a context variable for later use, while the ",[100,316,297],{}," is used as the payload to be displayed on our dashboard.",[10,319,320],{},"The rest of the flow follows this same pattern, to end up with a folder structure that we can display on our dashboard that matches the structure on our OPC Server",[51,322,323],{},[54,324,325],{},"note - to make the flow more manageable, not all browsable folders were included in the dashboard, as this flow is just meant to serve as an example, rather than be a 1:1 copy of everything in the server.",[10,327,328],{},"If you deploy the flow and pull up the dashboard, it results in the following output -",[10,330,331,335,336,339],{},[109,332],{"alt":333,"dataZoomable":112,"src":334},"address-space-dashboard.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Faddress-space-dashboard.png","\nShowing side-by-side with the server, you can see that we successfully browsed a portion of the address space and displayed the values on the dashboard.  Admittedly, a lot of work for not much pay-off, but it’s a worthwhile exercise in understanding how to browse topics using the ",[100,337,338],{},"OPC UA Browser"," node.  The browser node is best used for reading OPC UA values, which will be covered next.",[38,341,343],{"id":342},"read-opc-ua-values-using-opc-ua-browser-node","Read OPC UA Values Using OPC UA Browser Node",[10,345,346],{},"The next set of flows read OPC UA values from the server and displays them on the dashboard.",[10,348,349,353],{},[109,350],{"alt":351,"dataZoomable":112,"src":352},"read-opc-values.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fread-opc-values.png","\nYou can import these flows into Node-RED using the code below:",[184,355],{":height":186,"flow":356},"W3siaWQiOiJjYTYyYmUzZTAxMzg4MzE5IiwidHlwZSI6Imdyb3VwIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJuYW1lIjoiQnJvd3NlIEhpZXJhcmNoaWNhbCBBZGRyZXNzIFNwYWNlIFN0cnVjdHVyZSAmIERpc3BsYXkgb24gRGFzaGJvYXJkIiwic3R5bGUiOnsibGFiZWwiOnRydWUsImNvbG9yIjoiIzAwMDAwMCJ9LCJub2RlcyI6WyI2YjE3YjJkYTJiOTQyYmI0IiwiNjE3OTdlY2NmMjc4NTI1NyIsIjRkOTJkOTQwMTc3YjZlZTMiLCI2OGExMTNkNTg5M2I3YzAxIiwiZDBjOTY5YjZhNTlmYWMzYSIsIjYzOWRhMDFmYzk1N2U1NDciLCIyOTQzN2NhNzIyMmQ5YTY0IiwiNDk5ODNkNWRhMDk1OGJmMiIsIjQ5MDQwZDBjZjExNDRmMGEiLCJlN2M1NWY0MTJlZjg2NTQzIiwiZGUyMWI3YWQ5OGEwNTgzMyIsIjJkNTZlOWE0MzFjMjFhM2IiLCJhYzk1YmQwZTJiMzA0ZWVjIiwiNmZkYWJjYzI5NTBjY2Y0ZSIsIjFjNDlmYTUxNDJkMmNmMTciLCIzMzU4Nzg1MjcwMjA1OThjIiwiN2IyMDhmMmU4Y2JhNjIwNSIsIjUyZGQyZTVkY2RkYWQ1OGYiLCJhNWFjZGNjZmQyMDMzYWVjIiwiMTU3MzIyYzljMzYwNDQ2ZCIsIjc4YTAxMmU1ZGIzNzdmZDkiXSwieCI6OTQsInkiOjEzOSwidyI6MTE3MiwiaCI6NDIyfSx7ImlkIjoiNmIxN2IyZGEyYjk0MmJiNCIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NTUwLCJ5IjoyODAsIndpcmVzIjpbWyI0ZDkyZDk0MDE3N2I2ZWUzIiwiZDBjOTY5YjZhNTlmYWMzYSIsIjYzOWRhMDFmYzk1N2U1NDciXV19LHsiaWQiOiI2MTc5N2VjY2YyNzg1MjU3IiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2V0IEJhc2UgRm9sZGVyIFN0cnVjdHVyZSIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9LHsicCI6InRvcGljIiwidnQiOiJzdHIifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOiIwLjMiLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjoyODAsInkiOjI4MCwid2lyZXMiOltbIjZiMTdiMmRhMmI5NDJiYjQiXV19LHsiaWQiOiI0ZDkyZDk0MDE3N2I2ZWUzIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiU2ltdWxhdGlvbiBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLlNpbXVsYXRpb24ubm9kZUlkIiwicHQiOiJmbG93IiwidG8iOiJwYXlsb2FkWzJdLml0ZW0ubm9kZUlkIiwidG90IjoibXNnIn0seyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFsyXS5pdGVtLmJyb3dzZU5hbWUubmFtZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo4MzAsInkiOjIyMCwid2lyZXMiOltbIjMzNTg3ODUyNzAyMDU5OGMiXV19LHsiaWQiOiI2OGExMTNkNTg5M2I3YzAxIiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwibmFtZSI6IkRpc3BsYXkgb24gRGFzaGJvYXJkIiwiaW5mbyI6IiIsIngiOjExNDAsInkiOjE4MCwid2lyZXMiOltdfSx7ImlkIjoiZDBjOTY5YjZhNTlmYWMzYSIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwibmFtZSI6Ik15T2JqZWN0cyBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLk15T2JqZWN0cy5ub2RlSWQiLCJwdCI6ImZsb3ciLCJ0byI6InBheWxvYWRbNF0uaXRlbS5ub2RlSWQiLCJ0b3QiOiJtc2cifSx7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzRdLml0ZW0uYnJvd3NlTmFtZS5uYW1lIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjgzMCwieSI6MzQwLCJ3aXJlcyI6W1siNTJkZDJlNWRjZGRhZDU4ZiJdXX0seyJpZCI6IjYzOWRhMDFmYzk1N2U1NDciLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsIm5hbWUiOiJTdGF0aWNEYXRhIEZvbGRlciIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6Ik9iamVjdHMuU3RhdGljRGF0YS5ub2RlSWQiLCJwdCI6ImZsb3ciLCJ0byI6InBheWxvYWRbM10uaXRlbS5ub2RlSWQiLCJ0b3QiOiJtc2cifSx7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzNdLml0ZW0uYnJvd3NlTmFtZS5uYW1lIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjgzMCwieSI6MjgwLCJ3aXJlcyI6W1siN2IyMDhmMmU4Y2JhNjIwNSJdXX0seyJpZCI6IjI5NDM3Y2E3MjIyZDlhNjQiLCJ0eXBlIjoiT3BjVWEtQnJvd3NlciIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJlbmRwb2ludCI6IjUzZjQzOTRkYmYxMmM2YjciLCJpdGVtIjoiIiwiZGF0YXR5cGUiOiIiLCJ0b3BpYyI6IiIsIml0ZW1zIjpbXSwibmFtZSI6Ik9QQyBDbGllbnQgTmFtZXNwYWNlIEJyb3dzZSIsIngiOjU1MCwieSI6NDQwLCJ3aXJlcyI6W1siNDkwNDBkMGNmMTE0NGYwYSIsImU3YzU1ZjQxMmVmODY1NDMiXV19LHsiaWQiOiI0OTk4M2Q1ZGEwOTU4YmYyIiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2V0IFN0YXRpY0RhdGEgRm9sZGVyIFN0cnVjdHVyZSIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9LHsicCI6InRvcGljIiwidiI6Ik9iamVjdHMuU3RhdGljRGF0YS5ub2RlSWQiLCJ2dCI6ImZsb3cifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOiIwLjMiLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjoyNzAsInkiOjQ0MCwid2lyZXMiOltbIjI5NDM3Y2E3MjIyZDlhNjQiXV19LHsiaWQiOiI0OTA0MGQwY2YxMTQ0ZjBhIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiQW5hbG9nSXRlbUFycmF5cyBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLlN0YXRpY0RhdGEuQW5hbG9nSXRlbUFycmF5cy5ub2RlSWQiLCJwdCI6ImZsb3ciLCJ0byI6InBheWxvYWRbMV0uaXRlbS5ub2RlSWQiLCJ0b3QiOiJtc2cifSx7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzFdLml0ZW0uYnJvd3NlTmFtZS5uYW1lIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjg1MCwieSI6NDYwLCJ3aXJlcyI6W1siMTU3MzIyYzljMzYwNDQ2ZCJdXX0seyJpZCI6ImU3YzU1ZjQxMmVmODY1NDMiLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsIm5hbWUiOiJTdGF0aWNBcnJheVZhcmlhYmxlcyBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLlN0YXRpY0RhdGEuU3RhdGljQXJyYXlWYXJpYWJsZXMubm9kZUlkIiwicHQiOiJmbG93IiwidG8iOiJwYXlsb2FkWzZdLml0ZW0ubm9kZUlkIiwidG90IjoibXNnIn0seyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFs2XS5pdGVtLmJyb3dzZU5hbWUubmFtZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo4NjAsInkiOjQwMCwid2lyZXMiOltbImE1YWNkY2NmZDIwMzNhZWMiXV19LHsiaWQiOiJkZTIxYjdhZDk4YTA1ODMzIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiTXlEZXZpY2UgT2JqZWN0IiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoiT2JqZWN0cy5NeU9iamVjdHMuTXlEZXZpY2Uubm9kZUlkIiwicHQiOiJmbG93IiwidG8iOiJwYXlsb2FkWzBdLml0ZW0ubm9kZUlkIiwidG90IjoibXNnIn0seyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFswXS5pdGVtLmJyb3dzZU5hbWUubmFtZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo4MzAsInkiOjUyMCwid2lyZXMiOltbIjc4YTAxMmU1ZGIzNzdmZDkiXV19LHsiaWQiOiIyZDU2ZTlhNDMxYzIxYTNiIiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2V0IE15T2JqZWN0cyBPYmplY3QgU3RydWN0dXJlIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn0seyJwIjoidG9waWMiLCJ2IjoiT2JqZWN0cy5NeU9iamVjdHMubm9kZUlkIiwidnQiOiJmbG93In1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6dHJ1ZSwib25jZURlbGF5IjoiMC41IiwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MjcwLCJ5Ijo1MjAsIndpcmVzIjpbWyJhYzk1YmQwZTJiMzA0ZWVjIl1dfSx7ImlkIjoiYWM5NWJkMGUyYjMwNGVlYyIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NTUwLCJ5Ijo1MjAsIndpcmVzIjpbWyJkZTIxYjdhZDk4YTA1ODMzIl1dfSx7ImlkIjoiNmZkYWJjYzI5NTBjY2Y0ZSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsIm5hbWUiOiJTdG9yZSAmIFBhcnNlIG5vZGVJZCAmIGJyb3dzZU5hbWUiLCJpbmZvIjoiIiwieCI6ODUwLCJ5IjoxODAsIndpcmVzIjpbXX0seyJpZCI6IjFjNDlmYTUxNDJkMmNmMTciLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2xvYmFsIEFkZHJlc3MgU3BhY2UgRm9sZGVyIEJyb3dzZSIsImluZm8iOiIiLCJ4Ijo0MTAsInkiOjIyMCwid2lyZXMiOltdfSx7ImlkIjoiMzM1ODc4NTI3MDIwNTk4YyIsInR5cGUiOiJ1aS10ZW1wbGF0ZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJncm91cCI6ImVmOTk5OGJhZjVmNjFlOGEiLCJwYWdlIjoiIiwidWkiOiIiLCJuYW1lIjoiU2ltdWxhdGlvbiIsIm9yZGVyIjoxLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJoZWFkIjoiIiwiZm9ybWF0IjoiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtY29udGVudFwiPlxuICAgICAgICA8cD5OYW1lc3BhY2UgMzwvcD5cbiAgICAgICAgPHYtaWNvbiBjb2xvcj1cImJsYWNrXCIgaWNvbj1cIm1kaS1mb2xkZXJcIiBzaXplPVwibGFyZ2VcIj48L3YtaWNvbj4ge3sgbXNnLnBheWxvYWQgfX1cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+Iiwic3RvcmVPdXRNZXNzYWdlcyI6dHJ1ZSwicGFzc3RocnUiOnRydWUsInJlc2VuZE9uUmVmcmVzaCI6dHJ1ZSwidGVtcGxhdGVTY29wZSI6ImxvY2FsIiwiY2xhc3NOYW1lIjoiIiwieCI6MTExMCwieSI6MjIwLCJ3aXJlcyI6W1tdXX0seyJpZCI6IjdiMjA4ZjJlOGNiYTYyMDUiLCJ0eXBlIjoidWktdGVtcGxhdGUiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwiZ3JvdXAiOiJlZjk5OThiYWY1ZjYxZThhIiwicGFnZSI6IiIsInVpIjoiIiwibmFtZSI6IlN0YXRpY0RhdGEiLCJvcmRlciI6Miwid2lkdGgiOjAsImhlaWdodCI6MCwiaGVhZCI6IiIsImZvcm1hdCI6Ijx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWNvbnRlbnRcIj5cbiAgICAgICAgPHA+TmFtZXNwYWNlIDU8L3A+XG4gICAgICAgIDx2LWljb24gY29sb3I9XCJibGFja1wiIGljb249XCJtZGktZm9sZGVyLWFycm93LWRvd25cIiBzaXplPVwibGFyZ2VcIj48L3YtaWNvbj4ge3sgbXNnLnBheWxvYWQgfX1cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+Iiwic3RvcmVPdXRNZXNzYWdlcyI6dHJ1ZSwicGFzc3RocnUiOnRydWUsInJlc2VuZE9uUmVmcmVzaCI6dHJ1ZSwidGVtcGxhdGVTY29wZSI6ImxvY2FsIiwiY2xhc3NOYW1lIjoiIiwieCI6MTExMCwieSI6MjgwLCJ3aXJlcyI6W1tdXX0seyJpZCI6IjUyZGQyZTVkY2RkYWQ1OGYiLCJ0eXBlIjoidWktdGVtcGxhdGUiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwiZ3JvdXAiOiJlZjk5OThiYWY1ZjYxZThhIiwicGFnZSI6IiIsInVpIjoiIiwibmFtZSI6Ik15T2JqZWN0cyIsIm9yZGVyIjo1LCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJoZWFkIjoiIiwiZm9ybWF0IjoiPHRlbXBsYXRlPlxuICAgIDxwPk5hbWVzcGFjZSA2PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtY29udGVudFwiPlxuICAgICAgICA8di1pY29uIGNvbG9yPVwiYmxhY2tcIiBpY29uPVwibWRpLWZvbGRlclwiIHNpemU9XCJsYXJnZVwiPjwvdi1pY29uPiB7eyBtc2cucGF5bG9hZCB9fVxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT4iLCJzdG9yZU91dE1lc3NhZ2VzIjp0cnVlLCJwYXNzdGhydSI6dHJ1ZSwicmVzZW5kT25SZWZyZXNoIjp0cnVlLCJ0ZW1wbGF0ZVNjb3BlIjoibG9jYWwiLCJjbGFzc05hbWUiOiIiLCJ4IjoxMTEwLCJ5IjozNDAsIndpcmVzIjpbW11dfSx7ImlkIjoiYTVhY2RjY2ZkMjAzM2FlYyIsInR5cGUiOiJ1aS10ZW1wbGF0ZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJncm91cCI6ImVmOTk5OGJhZjVmNjFlOGEiLCJwYWdlIjoiIiwidWkiOiIiLCJuYW1lIjoiU3RhdGljQXJyYXlWYXJpYWJsZXMiLCJvcmRlciI6Mywid2lkdGgiOjAsImhlaWdodCI6MCwiaGVhZCI6IiIsImZvcm1hdCI6Ijx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlciBtbC0zXCI+XG4gICAgICAgIDx2LWljb24gY29sb3I9XCJibGFja1wiIGljb249XCJtZGktZm9sZGVyXCIgc2l6ZT1cImxhcmdlXCI+PC92LWljb24+IHt7IG1zZy5wYXlsb2FkIH19XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPiIsInN0b3JlT3V0TWVzc2FnZXMiOnRydWUsInBhc3N0aHJ1Ijp0cnVlLCJyZXNlbmRPblJlZnJlc2giOnRydWUsInRlbXBsYXRlU2NvcGUiOiJsb2NhbCIsImNsYXNzTmFtZSI6IiIsIngiOjExNDAsInkiOjQwMCwid2lyZXMiOltbXV19LHsiaWQiOiIxNTczMjJjOWMzNjA0NDZkIiwidHlwZSI6InVpLXRlbXBsYXRlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsImdyb3VwIjoiZWY5OTk4YmFmNWY2MWU4YSIsInBhZ2UiOiIiLCJ1aSI6IiIsIm5hbWUiOiJBbmFsb2dJdGVtQXJyYXlzIiwib3JkZXIiOjQsIndpZHRoIjowLCJoZWlnaHQiOjAsImhlYWQiOiIiLCJmb3JtYXQiOiI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1jZW50ZXIgbWwtM1wiPlxuICAgICAgICA8di1pY29uIGNvbG9yPVwiYmxhY2tcIiBpY29uPVwibWRpLWZvbGRlclwiIHNpemU9XCJsYXJnZVwiPjwvdi1pY29uPiB7eyBtc2cucGF5bG9hZCB9fVxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT4iLCJzdG9yZU91dE1lc3NhZ2VzIjp0cnVlLCJwYXNzdGhydSI6dHJ1ZSwicmVzZW5kT25SZWZyZXNoIjp0cnVlLCJ0ZW1wbGF0ZVNjb3BlIjoibG9jYWwiLCJjbGFzc05hbWUiOiIiLCJ4IjoxMTMwLCJ5Ijo0NjAsIndpcmVzIjpbW11dfSx7ImlkIjoiNzhhMDEyZTVkYjM3N2ZkOSIsInR5cGUiOiJ1aS10ZW1wbGF0ZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJncm91cCI6ImVmOTk5OGJhZjVmNjFlOGEiLCJwYWdlIjoiIiwidWkiOiIiLCJuYW1lIjoiTXlEZXZpY2UiLCJvcmRlciI6Niwid2lkdGgiOjAsImhlaWdodCI6MCwiaGVhZCI6IiIsImZvcm1hdCI6Ijx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlciBtbC0zXCI+XG4gICAgICAgIDx2LWljb24gY29sb3I9XCJibGFja1wiIGljb249XCJtZGktZm9sZGVyXCIgc2l6ZT1cImxhcmdlXCI+PC92LWljb24+IHt7IG1zZy5wYXlsb2FkIH19XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPiIsInN0b3JlT3V0TWVzc2FnZXMiOnRydWUsInBhc3N0aHJ1Ijp0cnVlLCJyZXNlbmRPblJlZnJlc2giOnRydWUsInRlbXBsYXRlU2NvcGUiOiJsb2NhbCIsImNsYXNzTmFtZSI6IiIsIngiOjExMDAsInkiOjUyMCwid2lyZXMiOltbXV19LHsiaWQiOiI1M2Y0Mzk0ZGJmMTJjNmI3IiwidHlwZSI6Ik9wY1VhLUVuZHBvaW50IiwiZW5kcG9pbnQiOiJvcGMudGNwOi8vMTkyLjE2OC41Ni4xOjUzNTMwL09QQ1VBL1NpbXVsYXRpb25TZXJ2ZXIiLCJzZWNwb2wiOiJOb25lIiwic2VjbW9kZSI6Ik5vbmUiLCJub25lIjp0cnVlLCJsb2dpbiI6ZmFsc2UsInVzZXJjZXJ0IjpmYWxzZSwidXNlcmNlcnRpZmljYXRlIjoiIiwidXNlcnByaXZhdGVrZXkiOiIifSx7ImlkIjoiZWY5OTk4YmFmNWY2MWU4YSIsInR5cGUiOiJ1aS1ncm91cCIsIm5hbWUiOiIgQWRkcmVzcyBTcGFjZSBGb2xkZXIgU3RydWN0dXJlIiwicGFnZSI6IjQ0ZDNmZWIyYTExNDNkN2IiLCJ3aWR0aCI6IjIiLCJoZWlnaHQiOiIxIiwib3JkZXIiOjEsInNob3dUaXRsZSI6dHJ1ZSwiY2xhc3NOYW1lIjoiIiwidmlzaWJsZSI6InRydWUiLCJkaXNhYmxlZCI6ImZhbHNlIn0seyJpZCI6IjQ0ZDNmZWIyYTExNDNkN2IiLCJ0eXBlIjoidWktcGFnZSIsIm5hbWUiOiJPUEMgVUEiLCJ1aSI6IjUzNTVlMGM0NzZmOWRhM2IiLCJwYXRoIjoiL29wY3VhIiwiaWNvbiI6ImhvbWUiLCJsYXlvdXQiOiJncmlkIiwidGhlbWUiOiI2MWVlZTZmYzYwMjgxYjliIiwib3JkZXIiOjEsImNsYXNzTmFtZSI6IiIsInZpc2libGUiOiJ0cnVlIiwiZGlzYWJsZWQiOiJmYWxzZSJ9LHsiaWQiOiI1MzU1ZTBjNDc2ZjlkYTNiIiwidHlwZSI6InVpLWJhc2UiLCJuYW1lIjoiTXkgRGFzaGJvYXJkIiwicGF0aCI6Ii9kYXNoYm9hcmQiLCJpbmNsdWRlQ2xpZW50RGF0YSI6dHJ1ZSwiYWNjZXB0c0NsaWVudENvbmZpZyI6WyJ1aS1ub3RpZmljYXRpb24iLCJ1aS1jb250cm9sIl0sInNob3dQYXRoSW5TaWRlYmFyIjpmYWxzZSwibmF2aWdhdGlvblN0eWxlIjoiZGVmYXVsdCJ9LHsiaWQiOiI2MWVlZTZmYzYwMjgxYjliIiwidHlwZSI6InVpLXRoZW1lIiwibmFtZSI6IkRlZmF1bHQgVGhlbWUiLCJjb2xvcnMiOnsic3VyZmFjZSI6IiMwMDk0Y2UiLCJwcmltYXJ5IjoiIzAwOTRjZSIsImJnUGFnZSI6IiNlZWVlZWUiLCJncm91cEJnIjoiI2ZmZmZmZiIsImdyb3VwT3V0bGluZSI6IiNjY2NjY2MifSwic2l6ZXMiOnsicGFnZVBhZGRpbmciOiIxMnB4IiwiZ3JvdXBHYXAiOiIxMnB4IiwiZ3JvdXBCb3JkZXJSYWRpdXMiOiI0cHgiLCJ3aWRnZXRHYXAiOiIxMnB4In19LHsiaWQiOiI4NTU3MDcyZjA1ZTRiZGEwIiwidHlwZSI6Imdyb3VwIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJuYW1lIjoiUmVhZCBTaW11bGF0aW9uIFZhbHVlcyAmIERpc3BsYXkgb24gRGFzaGJvYXJkIiwic3R5bGUiOnsibGFiZWwiOnRydWUsImNvbG9yIjoiIzAwMDAwMCJ9LCJub2RlcyI6WyI5NjU5ZDQwYWM5MDYzNzY0IiwiOWY1YjU5N2VjODE3OWZiNCIsImE4ZDkxOWY0OTdmY2ZmMDQiLCIxM2Y1Yzk4YjdmZDVmNWRhIiwiZWM1ZGNhNWViOWQ0OTcxYiIsIjE3ODBjYjg2NTk3ZDNjNjciLCIxYTJmY2FjODcyNDdjZGE0IiwiNGQ5Yjc1OGUzOTU1NTEyNCIsImRhNDY4YmMxNTA1MTdmYTYiLCI4MmFhMTIxNzNkZDdiYmNhIiwiNTdkODc3N2UzNGI1NWI3YiIsIjEwODc3OTA5ZDFkYWY2ZmUiLCJjNGQ0YTNiMGRmMzcyZTRjIiwiYjBjZjUxMWY4MjRmMmE4NiIsImYyZWZjNmI0MTk0MTRjOWEiXSwieCI6OTQsInkiOjU5OSwidyI6MTM3MiwiaCI6MzAyfSx7ImlkIjoiOTY1OWQ0MGFjOTA2Mzc2NCIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NTcwLCJ5Ijo3NjAsIndpcmVzIjpbWyJlYzVkY2E1ZWI5ZDQ5NzFiIl1dfSx7ImlkIjoiOWY1YjU5N2VjODE3OWZiNCIsInR5cGUiOiJpbmplY3QiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI4NTU3MDcyZjA1ZTRiZGEwIiwibmFtZSI6IlVwZGF0ZSBTaW11bGF0aW9uIFZhbHVlcyBAIDEgc2Vjb25kIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn0seyJwIjoidG9waWMiLCJ2IjoiT2JqZWN0cy5TaW11bGF0aW9uLm5vZGVJZCIsInZ0IjoiZmxvdyJ9XSwicmVwZWF0IjoiMSIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MzAwLCJ5Ijo3NjAsIndpcmVzIjpbWyI5NjU5ZDQwYWM5MDYzNzY0Il1dfSx7ImlkIjoiYThkOTE5ZjQ5N2ZjZmYwNCIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJSZWFkIFNpbXVsYXRpb24gVmFsdWVzIiwiaW5mbyI6IiIsIngiOjQ2MCwieSI6NzIwLCJ3aXJlcyI6W119LHsiaWQiOiIxM2Y1Yzk4YjdmZDVmNWRhIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6Ijg1NTcwNzJmMDVlNGJkYTAiLCJuYW1lIjoiR2V0IENvdW50ZXIgVmFsdWUiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWRbMV0uaXRlbS52YWx1ZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4IjoxMDcwLCJ5Ijo2ODAsIndpcmVzIjpbWyIxMDg3NzkwOWQxZGFmNmZlIl1dfSx7ImlkIjoiZWM1ZGNhNWViOWQ0OTcxYiIsInR5cGUiOiJzd2l0Y2giLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI4NTU3MDcyZjA1ZTRiZGEwIiwibmFtZSI6ImVtcHR5IGNoZWNrIiwicHJvcGVydHkiOiJwYXlsb2FkIiwicHJvcGVydHlUeXBlIjoibXNnIiwicnVsZXMiOlt7InQiOiJuZW1wdHkifV0sImNoZWNrYWxsIjoidHJ1ZSIsInJlcGFpciI6ZmFsc2UsIm91dHB1dHMiOjEsIngiOjc5MCwieSI6NzYwLCJ3aXJlcyI6W1siMTNmNWM5OGI3ZmQ1ZjVkYSIsIjE3ODBjYjg2NTk3ZDNjNjciLCIxYTJmY2FjODcyNDdjZGE0IiwiNGQ5Yjc1OGUzOTU1NTEyNCJdXX0seyJpZCI6IjE3ODBjYjg2NTk3ZDNjNjciLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJHZXQgUmFuZG9tIE51bWJlciBWYWx1ZSIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFsyXS5pdGVtLnZhbHVlIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjExMDAsInkiOjc0MCwid2lyZXMiOltbImM0ZDRhM2IwZGYzNzJlNGMiXV19LHsiaWQiOiIxYTJmY2FjODcyNDdjZGE0IiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6Ijg1NTcwNzJmMDVlNGJkYTAiLCJuYW1lIjoiR2V0IFNhd3Rvb3RoIFZhbHVlIiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzNdLml0ZW0udmFsdWUiLCJ0b3QiOiJtc2cifV0sImFjdGlvbiI6IiIsInByb3BlcnR5IjoiIiwiZnJvbSI6IiIsInRvIjoiIiwicmVnIjpmYWxzZSwieCI6MTA4MCwieSI6ODAwLCJ3aXJlcyI6W1siYjBjZjUxMWY4MjRmMmE4NiJdXX0seyJpZCI6IjRkOWI3NThlMzk1NTUxMjQiLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJHZXQgU2F3dG9vdGggVmFsdWUiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWRbNF0uaXRlbS52YWx1ZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4IjoxMDgwLCJ5Ijo4NjAsIndpcmVzIjpbWyJmMmVmYzZiNDE5NDE0YzlhIl1dfSx7ImlkIjoiZGE0NjhiYzE1MDUxN2ZhNiIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJEaXNjYXJkIEVtcHR5IERhdGFzZXRzIiwiaW5mbyI6IiIsIngiOjc4MCwieSI6NzIwLCJ3aXJlcyI6W119LHsiaWQiOiI4MmFhMTIxNzNkZDdiYmNhIiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI4NTU3MDcyZjA1ZTRiZGEwIiwibmFtZSI6IlBhcnNlIFNpbXVsYXRpb24gVmFsdWVzIiwiaW5mbyI6IiIsIngiOjEwNzAsInkiOjY0MCwid2lyZXMiOltdfSx7ImlkIjoiNTdkODc3N2UzNGI1NWI3YiIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJEaXNwbGF5IG9uIERhc2hib2FyZCIsImluZm8iOiIiLCJ4IjoxMzQwLCJ5Ijo2NDAsIndpcmVzIjpbXX0seyJpZCI6IjEwODc3OTA5ZDFkYWY2ZmUiLCJ0eXBlIjoidWktZ2F1Z2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI4NTU3MDcyZjA1ZTRiZGEwIiwibmFtZSI6IkNvdW50ZXIiLCJncm91cCI6ImFmMjYzMDY0ODIwZmI3ZDAiLCJvcmRlciI6MCwid2lkdGgiOjMsImhlaWdodCI6MywiZ3R5cGUiOiJnYXVnZS1oYWxmIiwiZ3N0eWxlIjoibmVlZGxlIiwidGl0bGUiOiJnYXVnZSIsInVuaXRzIjoidW5pdHMiLCJpY29uIjoiIiwicHJlZml4IjoiIiwic3VmZml4IjoiIiwic2VnbWVudHMiOlt7ImZyb20iOiIwIiwiY29sb3IiOiIjNWNkNjVjIn0seyJmcm9tIjoiMTUiLCJjb2xvciI6IiNmZmM4MDAifSx7ImZyb20iOiIzMCIsImNvbG9yIjoiI2VhNTM1MyJ9XSwibWluIjowLCJtYXgiOiIzMCIsInNpemVUaGlja25lc3MiOjE2LCJzaXplR2FwIjo0LCJzaXplS2V5VGhpY2tuZXNzIjo4LCJzdHlsZVJvdW5kZWQiOnRydWUsInN0eWxlR2xvdyI6ZmFsc2UsImNsYXNzTmFtZSI6IiIsIngiOjEzMjAsInkiOjY4MCwid2lyZXMiOltdfSx7ImlkIjoiYzRkNGEzYjBkZjM3MmU0YyIsInR5cGUiOiJ1aS10ZXh0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsImdyb3VwIjoiYWYyNjMwNjQ4MjBmYjdkMCIsIm9yZGVyIjowLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJuYW1lIjoiUmFuZG9tIE51bWJlciIsImxhYmVsIjoiUmFuZG9tIE51bWJlciIsImZvcm1hdCI6Int7bXNnLnBheWxvYWR9fSIsImxheW91dCI6InJvdy1zcHJlYWQiLCJzdHlsZSI6ZmFsc2UsImZvbnQiOiIiLCJmb250U2l6ZSI6MTYsImNvbG9yIjoiIzcxNzE3MSIsImNsYXNzTmFtZSI6IiIsIngiOjEzNTAsInkiOjc0MCwid2lyZXMiOltdfSx7ImlkIjoiYjBjZjUxMWY4MjRmMmE4NiIsInR5cGUiOiJ1aS1jaGFydCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6Ijg1NTcwNzJmMDVlNGJkYTAiLCJncm91cCI6ImFmMjYzMDY0ODIwZmI3ZDAiLCJuYW1lIjoiIiwibGFiZWwiOiJTYXd0b290aCIsIm9yZGVyIjo5MDA3MTk5MjU0NzQwOTkxLCJjaGFydFR5cGUiOiJsaW5lIiwiY2F0ZWdvcnkiOiJTYXd0b290aCIsImNhdGVnb3J5VHlwZSI6InN0ciIsInhBeGlzUHJvcGVydHkiOiIiLCJ4QXhpc1Byb3BlcnR5VHlwZSI6Im1zZyIsInhBeGlzVHlwZSI6InRpbWUiLCJ5QXhpc1Byb3BlcnR5IjoiIiwieW1pbiI6IiIsInltYXgiOiIiLCJhY3Rpb24iOiJhcHBlbmQiLCJwb2ludFNoYXBlIjoibGluZSIsInBvaW50UmFkaXVzIjo0LCJzaG93TGVnZW5kIjp0cnVlLCJyZW1vdmVPbGRlciI6MSwicmVtb3ZlT2xkZXJVbml0IjoiNjAiLCJyZW1vdmVPbGRlclBvaW50cyI6IiIsImNvbG9ycyI6WyIjMWY3N2I0IiwiI2FlYzdlOCIsIiNmZjdmMGUiLCIjMmNhMDJjIiwiIzk4ZGY4YSIsIiNkNjI3MjgiLCIjZmY5ODk2IiwiIzk0NjdiZCIsIiNjNWIwZDUiXSwid2lkdGgiOiIzIiwiaGVpZ2h0IjoiNCIsImNsYXNzTmFtZSI6IiIsIngiOjEzMjAsInkiOjgwMCwid2lyZXMiOltbXV19LHsiaWQiOiJmMmVmYzZiNDE5NDE0YzlhIiwidHlwZSI6InVpLWNoYXJ0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsImdyb3VwIjoiYWYyNjMwNjQ4MjBmYjdkMCIsIm5hbWUiOiIiLCJsYWJlbCI6IlNpbnVzb2lkIiwib3JkZXIiOjkwMDcxOTkyNTQ3NDA5OTEsImNoYXJ0VHlwZSI6ImxpbmUiLCJjYXRlZ29yeSI6IlNhd3Rvb3RoIiwiY2F0ZWdvcnlUeXBlIjoic3RyIiwieEF4aXNQcm9wZXJ0eSI6IiIsInhBeGlzUHJvcGVydHlUeXBlIjoibXNnIiwieEF4aXNUeXBlIjoidGltZSIsInlBeGlzUHJvcGVydHkiOiIiLCJ5bWluIjoiIiwieW1heCI6IiIsImFjdGlvbiI6ImFwcGVuZCIsInBvaW50U2hhcGUiOiJsaW5lIiwicG9pbnRSYWRpdXMiOjQsInNob3dMZWdlbmQiOnRydWUsInJlbW92ZU9sZGVyIjoxLCJyZW1vdmVPbGRlclVuaXQiOiI2MCIsInJlbW92ZU9sZGVyUG9pbnRzIjoiIiwiY29sb3JzIjpbIiMxZjc3YjQiLCIjYWVjN2U4IiwiI2ZmN2YwZSIsIiMyY2EwMmMiLCIjOThkZjhhIiwiI2Q2MjcyOCIsIiNmZjk4OTYiLCIjOTQ2N2JkIiwiI2M1YjBkNSJdLCJ3aWR0aCI6IjMiLCJoZWlnaHQiOiI0IiwiY2xhc3NOYW1lIjoiIiwieCI6MTMyMCwieSI6ODYwLCJ3aXJlcyI6W1tdXX0seyJpZCI6ImFmMjYzMDY0ODIwZmI3ZDAiLCJ0eXBlIjoidWktZ3JvdXAiLCJuYW1lIjoiU2ltdWxhdGlvbiB2YWx1ZXMiLCJwYWdlIjoiNDRkM2ZlYjJhMTE0M2Q3YiIsIndpZHRoIjoiMyIsImhlaWdodCI6IjEiLCJvcmRlciI6Miwic2hvd1RpdGxlIjp0cnVlLCJjbGFzc05hbWUiOiIiLCJ2aXNpYmxlIjoidHJ1ZSIsImRpc2FibGVkIjoiZmFsc2UifSx7ImlkIjoiNWFmZGJkZGY3MTUwNzg4NiIsInR5cGUiOiJncm91cCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwibmFtZSI6IlJlYWQgU3RhdGljRGF0YSBWYWx1ZXMgJiBEaXNwbGF5IG9uIERhc2hib2FyZCIsInN0eWxlIjp7ImxhYmVsIjp0cnVlLCJjb2xvciI6IiMwMDAwMDAifSwibm9kZXMiOlsiZTk5OGFhODA0MDQyMTI4YiIsIjZjOWI3ZDRkMTk1YTFlOWEiLCJjZDA5N2I3NDRkMGVjNjI1IiwiMThkMjE2MDdjODdhYjE1MyIsIjdiNTE0M2M0OTYwZjkyYTEiLCIwNjI1YjBjZjZmNTQ2YTRhIiwiOWQ4OTlmYmI0ZDE2NDhiMyIsIjZlMWVkYzMxNjg3ZGRlNTQiLCIwNTFlMWYyODIwNzZmZWQyIiwiZGUyYTFjM2UzODBmNzQzYiIsImM3NDYwNmM0OGNjZjVhNDAiLCIwNTNiZGExM2YyYTJlYWJlIiwiMjc3ZGNmNDMwZGM4Njk5NiIsImQ3MDhlNjI2NGNlYzAwNzAiXSwieCI6ODQsInkiOjkzOSwidyI6MTM4MiwiaCI6MjAyfSx7ImlkIjoiZTk5OGFhODA0MDQyMTI4YiIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NjMwLCJ5IjoxMDIwLCJ3aXJlcyI6W1siN2I1MTQzYzQ5NjBmOTJhMSJdXX0seyJpZCI6IjZjOWI3ZDRkMTk1YTFlOWEiLCJ0eXBlIjoiaW5qZWN0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsIm5hbWUiOiJVcGRhdGUgQW5hbG9nSXRlbUFycmF5cyBWYWx1ZXMgQCAxIHNlY29uZCIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9LHsicCI6InRvcGljIiwidiI6Ik9iamVjdHMuU3RhdGljRGF0YS5BbmFsb2dJdGVtQXJyYXlzLm5vZGVJZCIsInZ0IjoiZmxvdyJ9XSwicmVwZWF0IjoiMSIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MzIwLCJ5IjoxMDIwLCJ3aXJlcyI6W1siZTk5OGFhODA0MDQyMTI4YiJdXX0seyJpZCI6ImNkMDk3Yjc0NGQwZWM2MjUiLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJuYW1lIjoiUmVhZCBTdGF0aWNEYXRhIFZhbHVlcyIsImluZm8iOiIiLCJ4Ijo1MjAsInkiOjk4MCwid2lyZXMiOltdfSx7ImlkIjoiMThkMjE2MDdjODdhYjE1MyIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI1YWZkYmRkZjcxNTA3ODg2IiwibmFtZSI6IkdldCBCeXRlQW5hbG9nSXRlbUFycmF5IFZhbHVlIiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiIkc3RyaW5nKHBheWxvYWRbMF0uaXRlbS52YWx1ZSlcdCIsInRvdCI6Impzb25hdGEifV0sImFjdGlvbiI6IiIsInByb3BlcnR5IjoiIiwiZnJvbSI6IiIsInRvIjoiIiwicmVnIjpmYWxzZSwieCI6MTA3MCwieSI6MTAyMCwid2lyZXMiOltbIjI3N2RjZjQzMGRjODY5OTYiXV19LHsiaWQiOiI3YjUxNDNjNDk2MGY5MmExIiwidHlwZSI6InN3aXRjaCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJuYW1lIjoiZW1wdHkgY2hlY2siLCJwcm9wZXJ0eSI6InBheWxvYWQiLCJwcm9wZXJ0eVR5cGUiOiJtc2ciLCJydWxlcyI6W3sidCI6Im5lbXB0eSJ9XSwiY2hlY2thbGwiOiJ0cnVlIiwicmVwYWlyIjpmYWxzZSwib3V0cHV0cyI6MSwieCI6ODMwLCJ5IjoxMDIwLCJ3aXJlcyI6W1siMThkMjE2MDdjODdhYjE1MyJdXX0seyJpZCI6IjA2MjViMGNmNmY1NDZhNGEiLCJ0eXBlIjoiT3BjVWEtQnJvd3NlciIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJlbmRwb2ludCI6IjUzZjQzOTRkYmYxMmM2YjciLCJpdGVtIjoiIiwiZGF0YXR5cGUiOiIiLCJ0b3BpYyI6IiIsIml0ZW1zIjpbXSwibmFtZSI6Ik9QQyBDbGllbnQgTmFtZXNwYWNlIEJyb3dzZSIsIngiOjYzMCwieSI6MTEwMCwid2lyZXMiOltbIjA1MWUxZjI4MjA3NmZlZDIiXV19LHsiaWQiOiI5ZDg5OWZiYjRkMTY0OGIzIiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJuYW1lIjoiVXBkYXRlIFN0YXRpY0FycmF5VmFyaWFibGVzIFZhbHVlcyBAMSBzZWNvbmQiLCJwcm9wcyI6W3sicCI6InBheWxvYWQifSx7InAiOiJ0b3BpYyIsInYiOiJPYmplY3RzLlN0YXRpY0RhdGEuU3RhdGljQXJyYXlWYXJpYWJsZXMubm9kZUlkIiwidnQiOiJmbG93In1dLCJyZXBlYXQiOiIxIiwiY3JvbnRhYiI6IiIsIm9uY2UiOnRydWUsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjozMjAsInkiOjExMDAsIndpcmVzIjpbWyIwNjI1YjBjZjZmNTQ2YTRhIl1dfSx7ImlkIjoiNmUxZWRjMzE2ODdkZGU1NCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI1YWZkYmRkZjcxNTA3ODg2IiwibmFtZSI6IkdldCBCb29sZWFuQXJyYXkgVmFsdWUiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWRbMF0uaXRlbS52YWx1ZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4IjoxMDUwLCJ5IjoxMTAwLCJ3aXJlcyI6W1siZDcwOGU2MjY0Y2VjMDA3MCJdXX0seyJpZCI6IjA1MWUxZjI4MjA3NmZlZDIiLCJ0eXBlIjoic3dpdGNoIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsIm5hbWUiOiJlbXB0eSBjaGVjayIsInByb3BlcnR5IjoicGF5bG9hZCIsInByb3BlcnR5VHlwZSI6Im1zZyIsInJ1bGVzIjpbeyJ0IjoibmVtcHR5In1dLCJjaGVja2FsbCI6InRydWUiLCJyZXBhaXIiOmZhbHNlLCJvdXRwdXRzIjoxLCJ4Ijo4MzAsInkiOjExMDAsIndpcmVzIjpbWyI2ZTFlZGMzMTY4N2RkZTU0Il1dfSx7ImlkIjoiZGUyYTFjM2UzODBmNzQzYiIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsIm5hbWUiOiJEaXNjYXJkIEVtcHR5IERhdGFzZXRzIiwiaW5mbyI6IiIsIngiOjgyMCwieSI6OTgwLCJ3aXJlcyI6W119LHsiaWQiOiJjNzQ2MDZjNDhjY2Y1YTQwIiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI1YWZkYmRkZjcxNTA3ODg2IiwibmFtZSI6IlBhcnNlIFN0YXRpY0RhdGEgVmFsdWVzIiwiaW5mbyI6IiIsIngiOjEwNzAsInkiOjk4MCwid2lyZXMiOltdfSx7ImlkIjoiMDUzYmRhMTNmMmEyZWFiZSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsIm5hbWUiOiJEaXNwbGF5IG9uIERhc2hib2FyZCIsImluZm8iOiIiLCJ4IjoxMzQwLCJ5Ijo5ODAsIndpcmVzIjpbXX0seyJpZCI6IjI3N2RjZjQzMGRjODY5OTYiLCJ0eXBlIjoidWktdGV4dCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJncm91cCI6IjNkNGYzODZlODEyZThiNWYiLCJvcmRlciI6MCwid2lkdGgiOjAsImhlaWdodCI6MCwibmFtZSI6IiIsImxhYmVsIjoiQnl0ZUFuYWxvZ0l0ZW1BcnJheSIsImZvcm1hdCI6Int7bXNnLnBheWxvYWR9fSIsImxheW91dCI6InJvdy1zcHJlYWQiLCJzdHlsZSI6ZmFsc2UsImZvbnQiOiIiLCJmb250U2l6ZSI6MTYsImNvbG9yIjoiIzcxNzE3MSIsImNsYXNzTmFtZSI6IiIsIngiOjEzNDAsInkiOjEwMjAsIndpcmVzIjpbXX0seyJpZCI6ImQ3MDhlNjI2NGNlYzAwNzAiLCJ0eXBlIjoidWktdGV4dCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJncm91cCI6IjNkNGYzODZlODEyZThiNWYiLCJvcmRlciI6MCwid2lkdGgiOjAsImhlaWdodCI6MCwibmFtZSI6IiIsImxhYmVsIjoiQm9vbGVhbkFycmF5IiwiZm9ybWF0Ijoie3ttc2cucGF5bG9hZH19IiwibGF5b3V0Ijoicm93LXNwcmVhZCIsInN0eWxlIjpmYWxzZSwiZm9udCI6IiIsImZvbnRTaXplIjoxNiwiY29sb3IiOiIjNzE3MTcxIiwiY2xhc3NOYW1lIjoiIiwieCI6MTMyMCwieSI6MTEwMCwid2lyZXMiOltdfSx7ImlkIjoiM2Q0ZjM4NmU4MTJlOGI1ZiIsInR5cGUiOiJ1aS1ncm91cCIsIm5hbWUiOiJTdGF0aWNEYXRhIFZhbHVlcyIsInBhZ2UiOiI0NGQzZmViMmExMTQzZDdiIiwid2lkdGgiOiI0IiwiaGVpZ2h0IjoiMSIsIm9yZGVyIjozLCJzaG93VGl0bGUiOnRydWUsImNsYXNzTmFtZSI6IiIsInZpc2libGUiOiJ0cnVlIiwiZGlzYWJsZWQiOiJmYWxzZSJ9XQ==",[10,358,359,360,362,363,366],{},"The values are derived from the ",[100,361,308],{}," values we stored in memory in our previous flow, via our ",[100,364,365],{},"change"," nodes in the previous flow.",[10,368,369,373,374,376],{},[109,370],{"alt":371,"dataZoomable":112,"src":372},"flow-context-nodeid.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fflow-context-nodeid.png","\nAs stated earlier, you reference a OPC UA topic by its ",[100,375,308],{},".  So we will use these node IDs to read actual values from our OPC nodes.",[10,378,379,380,382,383,386,387,390,391,393,394,396],{},"In our first flow, we want to read the values in the ",[100,381,253],{}," folder at a 1 second interval.  So we use an ",[100,384,385],{},"inject"," node with a ",[100,388,389],{},"msg.topic"," that references the ",[100,392,308],{}," corresponding to the ",[100,395,253],{}," folder.",[10,398,399,403,404,406,407,409,410,412,413,416],{},[109,400],{"alt":401,"dataZoomable":112,"src":402},"simulation-injection.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fsimulation-injection.png","\nThat ",[100,405,389],{}," tells the ",[100,408,338],{}," node what ",[100,411,308],{}," to browse.  If we look at the debug output of the browser ",[100,414,415],{},"msg.payload",", we can see that it produces an array of 7 objects, and an empty set array.",[10,418,419,423,424,427],{},[109,420],{"alt":421,"dataZoomable":112,"src":422},"simulation-debug.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fsimulation-debug.png","\nIf we allow that empty array to be passed, that means all values will be reset to 0 on each read.  So to prevent that from happening, we use a ",[100,425,426],{},"switch"," node to filter out the empty set.",[10,429,430,434],{},[109,431],{"alt":432,"dataZoomable":112,"src":433},"empty-check.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fempty-check.png","\nNow only non-empty payloads will be passed, preventing the values being reset to 0 on each read.",[10,436,437,438,440,441,444,445,448,449,452,453,396],{},"Now we can actually read the values.  To do this, we use a ",[100,439,365],{}," node again, referencing the non-empty payload and drilling down to the ",[100,442,443],{},"value"," that corresponds to the ",[100,446,447],{},"name"," of the node we want to read.  In this case, we’re getting the value of the node ",[100,450,451],{},"Counter"," located in the ",[100,454,253],{},[10,456,457,461],{},[109,458],{"alt":459,"dataZoomable":112,"src":460},"get-counter-value.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fget-counter-value.png","\nGoing back to our OPC Server, we can see that exactly where that value is derived below -",[10,463,464],{},[109,465],{"alt":466,"dataZoomable":112,"src":467},"sim-counter-server.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fsim-counter-server.png",[10,469,470,471,474],{},"Now we add a ",[100,472,473],{},"gauge"," dashboard node to visualize the counter on the dashboard.  In the OPC Server, it is shown that the counter increments in a range of 0-30 in 1 count increments.",[10,476,477,481],{},[109,478],{"alt":479,"dataZoomable":112,"src":480},"counter-properties.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fcounter-propertie.png","\nNow that we’ve gone through the full process of reading an OPC UA value and displaying it on the dashboard, we can apply the same logic other values published by the OPC UA Server, which are repeated in the remaining parts of the flow.",[10,483,484],{},"The end result on the dashboard now looks like this -",[10,486,487],{},[109,488],{"alt":489,"dataZoomable":112,"src":490},"opc-read-dashboard.gif","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fopc-read-dashboard.gif",[38,492,494],{"id":493},"write-opc-ua-values-to-server-using-opcua-item-and-opc-ua-client-nodes","Write OPC UA Values To Server Using OpcUa-Item and Opc-Ua-Client Nodes",[10,496,497],{},"The next flow writes OPC UA values to the server using dashboard UI elements.",[10,499,500,504],{},[109,501],{"alt":502,"dataZoomable":112,"src":503},"write-mydevice.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fwrite-mydevice.png","\nYou can import this flow into Node-RED using the code below:",[184,506],{":height":186,"flow":507},"W3siaWQiOiIzZGU2Yzg2MTYxMWMzYWZhIiwidHlwZSI6Imdyb3VwIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJuYW1lIjoiV3JpdGUgTXlkZXZpY2VzIHZhbHVlcyB0byBPUEMgVUEgU2VydmVyIiwic3R5bGUiOnsibGFiZWwiOnRydWUsImNvbG9yIjoiIzAwMDAwMCJ9LCJub2RlcyI6WyJhNjY1ODNkOTFiNTgxY2Q4IiwiM2U4Y2I2ZTE5OTAxMjE1NSIsIjlmYTMzZDFjOWM2MjE2MTEiLCJmYjdmNTdiNGRhNTg4M2FlIiwiOWM1ZmYxMDRlYjljOGIxMCIsIjc3YmNiODI4YmVjOTUzMzYiLCJhZmE4M2RiYjQ2NDQ5ZDRhIiwiZmEwOGYwZWQwNDI5NjM2MyIsIjlmNTkxNzk3YjU2YzU2NWQiXSwieCI6OTQsInkiOjE0MzksInciOjc5MiwiaCI6MTgyfSx7ImlkIjoiYTY2NTgzZDkxYjU4MWNkOCIsInR5cGUiOiJPcGNVYS1JdGVtIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiM2RlNmM4NjE2MTFjM2FmYSIsIml0ZW0iOiJucz02O3M9TXlTd2l0Y2giLCJkYXRhdHlwZSI6IkJvb2xlYW4iLCJ2YWx1ZSI6IiIsIm5hbWUiOiJUb2dnbGUgTXlTd2l0Y2giLCJ4Ijo0NzAsInkiOjE1MjAsIndpcmVzIjpbWyIzZThjYjZlMTk5MDEyMTU1Il1dfSx7ImlkIjoiM2U4Y2I2ZTE5OTAxMjE1NSIsInR5cGUiOiJPcGNVYS1DbGllbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIzZGU2Yzg2MTYxMWMzYWZhIiwiZW5kcG9pbnQiOiI1M2Y0Mzk0ZGJmMTJjNmI3IiwiYWN0aW9uIjoid3JpdGUiLCJkZWFkYmFuZHR5cGUiOiJhIiwiZGVhZGJhbmR2YWx1ZSI6MSwidGltZSI6MTAsInRpbWVVbml0IjoicyIsImNlcnRpZmljYXRlIjoibiIsImxvY2FsZmlsZSI6IiIsImxvY2Fsa2V5ZmlsZSI6IiIsInNlY3VyaXR5bW9kZSI6Ik5vbmUiLCJzZWN1cml0eXBvbGljeSI6Ik5vbmUiLCJ1c2VUcmFuc3BvcnQiOmZhbHNlLCJtYXhDaHVua0NvdW50IjoxLCJtYXhNZXNzYWdlU2l6ZSI6ODE5MiwicmVjZWl2ZUJ1ZmZlclNpemUiOjgxOTIsInNlbmRCdWZmZXJTaXplIjo4MTkyLCJuYW1lIjoiV3JpdGUgTXlTd2l0Y2giLCJ4Ijo3MjAsInkiOjE1MjAsIndpcmVzIjpbW10sW11dfSx7ImlkIjoiOWZhMzNkMWM5YzYyMTYxMSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiM2RlNmM4NjE2MTFjM2FmYSIsIm5hbWUiOiJEYXNoYm9hcmQgSW5wdXQiLCJpbmZvIjoiIiwieCI6MjAwLCJ5IjoxNDgwLCJ3aXJlcyI6W119LHsiaWQiOiJmYjdmNTdiNGRhNTg4M2FlIiwidHlwZSI6Ik9wY1VhLUl0ZW0iLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIzZGU2Yzg2MTYxMWMzYWZhIiwiaXRlbSI6Im5zPTY7cz1NeUxldmVsIiwiZGF0YXR5cGUiOiJEb3VibGUiLCJ2YWx1ZSI6IiIsIm5hbWUiOiJNb2RpZnkgTXlMZXZlbCIsIngiOjQ2MCwieSI6MTU4MCwid2lyZXMiOltbIjljNWZmMTA0ZWI5YzhiMTAiXV19LHsiaWQiOiI5YzVmZjEwNGViOWM4YjEwIiwidHlwZSI6Ik9wY1VhLUNsaWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjNkZTZjODYxNjExYzNhZmEiLCJlbmRwb2ludCI6IjUzZjQzOTRkYmYxMmM2YjciLCJhY3Rpb24iOiJ3cml0ZSIsImRlYWRiYW5kdHlwZSI6ImEiLCJkZWFkYmFuZHZhbHVlIjoxLCJ0aW1lIjoxMCwidGltZVVuaXQiOiJzIiwiY2VydGlmaWNhdGUiOiJuIiwibG9jYWxmaWxlIjoiIiwibG9jYWxrZXlmaWxlIjoiIiwic2VjdXJpdHltb2RlIjoiTm9uZSIsInNlY3VyaXR5cG9saWN5IjoiTm9uZSIsInVzZVRyYW5zcG9ydCI6ZmFsc2UsIm1heENodW5rQ291bnQiOjEsIm1heE1lc3NhZ2VTaXplIjo4MTkyLCJyZWNlaXZlQnVmZmVyU2l6ZSI6ODE5Miwic2VuZEJ1ZmZlclNpemUiOjgxOTIsIm5hbWUiOiJXcml0ZSBNeUxldmVsIiwieCI6NzIwLCJ5IjoxNTgwLCJ3aXJlcyI6W1tdLFtdXX0seyJpZCI6Ijc3YmNiODI4YmVjOTUzMzYiLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjNkZTZjODYxNjExYzNhZmEiLCJuYW1lIjoiQ2FsbCBPUEMgVUEgSXRlbSIsImluZm8iOiIiLCJ4Ijo0NzAsInkiOjE0ODAsIndpcmVzIjpbXX0seyJpZCI6ImFmYTgzZGJiNDY0NDlkNGEiLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjNkZTZjODYxNjExYzNhZmEiLCJuYW1lIjoiV3JpdGUgT1BDIFVBIEl0ZW0gdG8gQ2xpZW50IiwiaW5mbyI6IiIsIngiOjc0MCwieSI6MTQ4MCwid2lyZXMiOltdfSx7ImlkIjoiZmEwOGYwZWQwNDI5NjM2MyIsInR5cGUiOiJ1aS1zd2l0Y2giLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIzZGU2Yzg2MTYxMWMzYWZhIiwibmFtZSI6IiIsImxhYmVsIjoiVG9nZ2xlIE15U3dpdGNoIiwiZ3JvdXAiOiJlYzBlY2IyNmZkZThkYjNlIiwib3JkZXIiOjAsIndpZHRoIjowLCJoZWlnaHQiOjAsInBhc3N0aHJ1IjpmYWxzZSwidG9waWMiOiJ0b3BpYyIsInRvcGljVHlwZSI6Im1zZyIsInN0eWxlIjoiIiwiY2xhc3NOYW1lIjoiIiwib252YWx1ZSI6InRydWUiLCJvbnZhbHVlVHlwZSI6ImJvb2wiLCJvbmljb24iOiIiLCJvbmNvbG9yIjoiIiwib2ZmdmFsdWUiOiJmYWxzZSIsIm9mZnZhbHVlVHlwZSI6ImJvb2wiLCJvZmZpY29uIjoiIiwib2ZmY29sb3IiOiIiLCJ4IjoyMTAsInkiOjE1MjAsIndpcmVzIjpbWyJhNjY1ODNkOTFiNTgxY2Q4Il1dfSx7ImlkIjoiOWY1OTE3OTdiNTZjNTY1ZCIsInR5cGUiOiJ1aS1zbGlkZXIiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIzZGU2Yzg2MTYxMWMzYWZhIiwiZ3JvdXAiOiJlYzBlY2IyNmZkZThkYjNlIiwibmFtZSI6IiIsImxhYmVsIjoiTW9kaWZ5IE15TGV2ZWwiLCJ0b29sdGlwIjoiIiwib3JkZXIiOjAsIndpZHRoIjowLCJoZWlnaHQiOjAsInBhc3N0aHJ1IjpmYWxzZSwib3V0cyI6ImFsbCIsInRvcGljIjoidG9waWMiLCJ0b3BpY1R5cGUiOiJtc2ciLCJ0aHVtYkxhYmVsIjp0cnVlLCJtaW4iOiIwIiwibWF4IjoiMTAwIiwic3RlcCI6MSwiY2xhc3NOYW1lIjoiIiwieCI6MjAwLCJ5IjoxNTgwLCJ3aXJlcyI6W1siZmI3ZjU3YjRkYTU4ODNhZSJdXX0seyJpZCI6IjUzZjQzOTRkYmYxMmM2YjciLCJ0eXBlIjoiT3BjVWEtRW5kcG9pbnQiLCJlbmRwb2ludCI6Im9wYy50Y3A6Ly8xOTIuMTY4LjU2LjE6NTM1MzAvT1BDVUEvU2ltdWxhdGlvblNlcnZlciIsInNlY3BvbCI6Ik5vbmUiLCJzZWNtb2RlIjoiTm9uZSIsIm5vbmUiOnRydWUsImxvZ2luIjpmYWxzZSwidXNlcmNlcnQiOmZhbHNlLCJ1c2VyY2VydGlmaWNhdGUiOiIiLCJ1c2VycHJpdmF0ZWtleSI6IiJ9LHsiaWQiOiJlYzBlY2IyNmZkZThkYjNlIiwidHlwZSI6InVpLWdyb3VwIiwibmFtZSI6Ik15RGV2aWNlIFN0YXR1cyAmIENvbnRyb2wiLCJwYWdlIjoiNDRkM2ZlYjJhMTE0M2Q3YiIsIndpZHRoIjoiMyIsImhlaWdodCI6IjEiLCJvcmRlciI6NCwic2hvd1RpdGxlIjp0cnVlLCJjbGFzc05hbWUiOiIiLCJ2aXNpYmxlIjoidHJ1ZSIsImRpc2FibGVkIjoiZmFsc2UifSx7ImlkIjoiNDRkM2ZlYjJhMTE0M2Q3YiIsInR5cGUiOiJ1aS1wYWdlIiwibmFtZSI6Ik9QQyBVQSIsInVpIjoiNTM1NWUwYzQ3NmY5ZGEzYiIsInBhdGgiOiIvb3BjdWEiLCJpY29uIjoiaG9tZSIsImxheW91dCI6ImdyaWQiLCJ0aGVtZSI6IjYxZWVlNmZjNjAyODFiOWIiLCJvcmRlciI6MSwiY2xhc3NOYW1lIjoiIiwidmlzaWJsZSI6InRydWUiLCJkaXNhYmxlZCI6ImZhbHNlIn0seyJpZCI6IjUzNTVlMGM0NzZmOWRhM2IiLCJ0eXBlIjoidWktYmFzZSIsIm5hbWUiOiJNeSBEYXNoYm9hcmQiLCJwYXRoIjoiL2Rhc2hib2FyZCIsImluY2x1ZGVDbGllbnREYXRhIjp0cnVlLCJhY2NlcHRzQ2xpZW50Q29uZmlnIjpbInVpLW5vdGlmaWNhdGlvbiIsInVpLWNvbnRyb2wiXSwic2hvd1BhdGhJblNpZGViYXIiOmZhbHNlLCJuYXZpZ2F0aW9uU3R5bGUiOiJkZWZhdWx0In0seyJpZCI6IjYxZWVlNmZjNjAyODFiOWIiLCJ0eXBlIjoidWktdGhlbWUiLCJuYW1lIjoiRGVmYXVsdCBUaGVtZSIsImNvbG9ycyI6eyJzdXJmYWNlIjoiIzAwOTRjZSIsInByaW1hcnkiOiIjMDA5NGNlIiwiYmdQYWdlIjoiI2VlZWVlZSIsImdyb3VwQmciOiIjZmZmZmZmIiwiZ3JvdXBPdXRsaW5lIjoiI2NjY2NjYyJ9LCJzaXplcyI6eyJwYWdlUGFkZGluZyI6IjEycHgiLCJncm91cEdhcCI6IjEycHgiLCJncm91cEJvcmRlclJhZGl1cyI6IjRweCIsIndpZGdldEdhcCI6IjEycHgifX1d",[10,509,510,511,514,515,518,519,521,522,85],{},"We have two values to write, a boolean value corresponding to the node object ",[100,512,513],{},"MySwitch",", and an integer value corresponding to the object ",[100,516,517],{},"MyLevel",". Therefore, we will use a toggle switch to toggle the ",[100,520,513],{},", and a slider to modify ",[100,523,517],{},[10,525,526],{},"There’s no need to modify the toggle switch properties, other than giving it a name.  The slider needs to have the range modified to match the range of the level, which is 0-100%.",[10,528,529,533,534,537,538,540],{},[109,530],{"alt":531,"dataZoomable":112,"src":532},"level-range.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Flevel-range.png","\nFor the ",[100,535,536],{},"OpcUa-Item"," nodes, copy the ",[100,539,293],{}," corresponding to each device,",[10,542,543,547,548,550],{},[109,544],{"alt":545,"dataZoomable":112,"src":546},"copy-node-id.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fcopy-node-id.png","\nand paste it into ",[100,549,536],{}," node.  You must also ensure the data-type matches with the value you’re writing to.",[10,552,553,557,558,561,562,85],{},[109,554],{"alt":555,"dataZoomable":112,"src":556},"opcua-item.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fopcua-item.png","\nThe ",[100,559,560],{},"Opc-Ua-Client"," needs to have an endpoint and the action changed to ",[100,563,564],{},"WRITE",[10,566,567,571,572,262,574,576,577,579,580,582],{},[109,568],{"alt":569,"dataZoomable":112,"src":570},"client-node.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fclient-node.png","\nThe process is the same for ",[100,573,513],{},[100,575,517],{},", the only difference being what ",[100,578,293],{}," is referenced in the  ",[100,581,536],{}," node.",[10,584,585],{},"When deployed, you can confirm values are being written to from the client to the server from the dashboard.",[10,587,588],{},[109,589],{"alt":590,"dataZoomable":112,"src":591},"opc-write.gif","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fopc-write.gif",[38,593,595],{"id":594},"read-alarms-&-events-from-opc-ua-server-using-opcua-event-and-opc-ua-client-nodes","Read Alarms & Events from OPC UA Server Using OpcUa-Event and Opc-Ua-Client Nodes",[10,597,598],{},"Our last flow we’ll show how to read OPC UA Alarms & Events.",[10,600,601,504],{},[109,602],{"alt":603,"dataZoomable":112,"src":604},"opc-event-flow.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fopc-event-flow.png",[184,606],{":height":186,"flow":607},"W3siaWQiOiJhNmU5YWJhY2QwYmRmM2I2IiwidHlwZSI6Imdyb3VwIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJuYW1lIjoiUmVhZCBBbGFybXMgJiBFdmVudHMgRnJvbSBPUEMgVUEgU2VydmVyIiwic3R5bGUiOnsibGFiZWwiOnRydWUsImNvbG9yIjoiIzAwMDAwMCJ9LCJub2RlcyI6WyI5MGZiNGNhNjRhNjQyZWRmIiwiYjc2ZjY0Nzg2YmM2ODFjMyIsIjcxZTI0YjY3MWJjMDNmYjgiLCJjNzQzOGRmMzViNTA2NDcwIiwiYzdlODkxOWI2MzZjYjUxZCIsIjU5NTJiODZkYWUyMmIwNTYiLCIwNDk5MmIyNGEzODM2ZjE5IiwiMzI1MDY4Y2I5MzVjZDZkMSIsIjViNGQxYmQ4YjM0MmZjMDUiLCJiYTFlYTg5NDM4MzM1Y2I4IiwiZDY2MmQ2NjJjNWNjYjljMSIsIjFlMzk1NjIwMDk5NzU4MWYiLCIwYjhhYzg2ZTVlNGY5ZjhkIiwiNjJiMmUxNGNlMDQyOWVlZiJdLCJ4Ijo5NCwieSI6MTY3OSwidyI6MTM1MiwiaCI6MjgyfSx7ImlkIjoiOTBmYjRjYTY0YTY0MmVkZiIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsIm5hbWUiOiJDYWxsIE9QQyBVQSBJdGVtIiwiaW5mbyI6IiIsIngiOjQ3MCwieSI6MTgyMCwid2lyZXMiOltdfSx7ImlkIjoiYjc2ZjY0Nzg2YmM2ODFjMyIsInR5cGUiOiJPcGNVYS1FdmVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImE2ZTlhYmFjZDBiZGYzYjYiLCJyb290IjoibnM9NjtzPU15TGV2ZWwuQWxhcm0iLCJhY3RpdmF0ZWN1c3RvbWV2ZW50IjpmYWxzZSwiZXZlbnR0eXBlIjoiaT0yMDQxIiwiY3VzdG9tZXZlbnR0eXBlIjoiIiwibmFtZSI6Ik15TGV2ZWwgQWxhcm1zIiwieCI6NTAwLCJ5IjoxODYwLCJ3aXJlcyI6W1siYzc0MzhkZjM1YjUwNjQ3MCJdXX0seyJpZCI6IjcxZTI0YjY3MWJjMDNmYjgiLCJ0eXBlIjoiaW5qZWN0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsIm5hbWUiOiJUcmlnZ2VyIEFsYXJtIEV2ZW50IENhcHR1cmUiLCJwcm9wcyI6W3sicCI6InBheWxvYWQifSx7InAiOiJ0b3BpYyIsInZ0Ijoic3RyIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6dHJ1ZSwib25jZURlbGF5IjowLjEsInRvcGljIjoiIiwicGF5bG9hZCI6IiIsInBheWxvYWRUeXBlIjoiZGF0ZSIsIngiOjI2MCwieSI6MTg2MCwid2lyZXMiOltbImI3NmY2NDc4NmJjNjgxYzMiXV19LHsiaWQiOiJjNzQzOGRmMzViNTA2NDcwIiwidHlwZSI6Ik9wY1VhLUNsaWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImE2ZTlhYmFjZDBiZGYzYjYiLCJlbmRwb2ludCI6IjUzZjQzOTRkYmYxMmM2YjciLCJhY3Rpb24iOiJldmVudHMiLCJkZWFkYmFuZHR5cGUiOiJhIiwiZGVhZGJhbmR2YWx1ZSI6MSwidGltZSI6MTAsInRpbWVVbml0IjoicyIsImNlcnRpZmljYXRlIjoibiIsImxvY2FsZmlsZSI6IiIsImxvY2Fsa2V5ZmlsZSI6IiIsInNlY3VyaXR5bW9kZSI6Ik5vbmUiLCJzZWN1cml0eXBvbGljeSI6Ik5vbmUiLCJ1c2VUcmFuc3BvcnQiOmZhbHNlLCJtYXhDaHVua0NvdW50IjoxLCJtYXhNZXNzYWdlU2l6ZSI6ODE5MiwicmVjZWl2ZUJ1ZmZlclNpemUiOjgxOTIsInNlbmRCdWZmZXJTaXplIjo4MTkyLCJuYW1lIjoiR2V0IE15TGV2ZWwgRXZlbnRzIiwieCI6NzIwLCJ5IjoxODYwLCJ3aXJlcyI6W1siYzdlODkxOWI2MzZjYjUxZCIsIjU5NTJiODZkYWUyMmIwNTYiLCIwNDk5MmIyNGEzODM2ZjE5Il0sW11dfSx7ImlkIjoiYzdlODkxOWI2MzZjYjUxZCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJhNmU5YWJhY2QwYmRmM2I2IiwibmFtZSI6IkV2ZW50IFRleHQiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWQuTWVzc2FnZS50ZXh0IiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjk5MCwieSI6MTgwMCwid2lyZXMiOltbImQ2NjJkNjYyYzVjY2I5YzEiLCIxZTM5NTYyMDA5OTc1ODFmIl1dfSx7ImlkIjoiNTk1MmI4NmRhZTIyYjA1NiIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJhNmU5YWJhY2QwYmRmM2I2IiwibmFtZSI6IkV2ZW50IFRpbWUiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWQuVGltZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo5OTAsInkiOjE4NjAsIndpcmVzIjpbWyIwYjhhYzg2ZTVlNGY5ZjhkIl1dfSx7ImlkIjoiMDQ5OTJiMjRhMzgzNmYxOSIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJhNmU5YWJhY2QwYmRmM2I2IiwibmFtZSI6IkV2ZW50IFNldmVyaXR5IiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkLlNldmVyaXR5IiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjEwMDAsInkiOjE5MjAsIndpcmVzIjpbWyI2MmIyZTE0Y2UwNDI5ZWVmIl1dfSx7ImlkIjoiMzI1MDY4Y2I5MzVjZDZkMSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsIm5hbWUiOiJQYXJzZSBFdmVudCBEYXRhc2V0IiwiaW5mbyI6IiIsIngiOjk5MCwieSI6MTc2MCwid2lyZXMiOltdfSx7ImlkIjoiNWI0ZDFiZDhiMzQyZmMwNSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsIm5hbWUiOiJHZXQgT1BDIEV2ZW50cyBmcm9tIENsaWVudCIsImluZm8iOiIiLCJ4Ijo3MjAsInkiOjE4MjAsIndpcmVzIjpbXX0seyJpZCI6ImJhMWVhODk0MzgzMzVjYjgiLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImE2ZTlhYmFjZDBiZGYzYjYiLCJuYW1lIjoiRGlzcGxheSBFdmVudHMgb24gRGFzaGJvYXJkIiwiaW5mbyI6IiIsIngiOjEyNDAsInkiOjE3MjAsIndpcmVzIjpbXX0seyJpZCI6ImQ2NjJkNjYyYzVjY2I5YzEiLCJ0eXBlIjoidWktbm90aWZpY2F0aW9uIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsInVpIjoiNTM1NWUwYzQ3NmY5ZGEzYiIsInBvc2l0aW9uIjoiY2VudGVyIGNlbnRlciIsImNvbG9yRGVmYXVsdCI6dHJ1ZSwiY29sb3IiOiIjMDAwMDAwIiwiZGlzcGxheVRpbWUiOiIzIiwic2hvd0NvdW50ZG93biI6dHJ1ZSwib3V0cHV0cyI6MSwiYWxsb3dEaXNtaXNzIjp0cnVlLCJkaXNtaXNzVGV4dCI6IkNsb3NlIiwicmF3IjpmYWxzZSwiY2xhc3NOYW1lIjoiIiwibmFtZSI6IkV2ZW50IE5vdGlmaWNhdGlvbiIsIngiOjEyMzAsInkiOjE4MDAsIndpcmVzIjpbW11dfSx7ImlkIjoiMWUzOTU2MjAwOTk3NTgxZiIsInR5cGUiOiJ1aS10ZXh0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsImdyb3VwIjoiZWMwZWNiMjZmZGU4ZGIzZSIsIm9yZGVyIjowLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJuYW1lIjoiIiwibGFiZWwiOiJMYXRlc3QgTXlMZXZlbCBFdmVudCIsImZvcm1hdCI6Int7bXNnLnBheWxvYWR9fSIsImxheW91dCI6InJvdy1zcHJlYWQiLCJzdHlsZSI6ZmFsc2UsImZvbnQiOiIiLCJmb250U2l6ZSI6MTYsImNvbG9yIjoiIzcxNzE3MSIsImNsYXNzTmFtZSI6IiIsIngiOjEyNDAsInkiOjE4NDAsIndpcmVzIjpbXX0seyJpZCI6IjBiOGFjODZlNWU0ZjlmOGQiLCJ0eXBlIjoidWktdGV4dCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImE2ZTlhYmFjZDBiZGYzYjYiLCJncm91cCI6ImVjMGVjYjI2ZmRlOGRiM2UiLCJvcmRlciI6MCwid2lkdGgiOjAsImhlaWdodCI6MCwibmFtZSI6IiIsImxhYmVsIjoiTGF0ZXN0IE15TGV2ZWwgRXZlbnQgVGltZXN0YW1wIiwiZm9ybWF0Ijoie3ttc2cucGF5bG9hZH19IiwibGF5b3V0Ijoicm93LXNwcmVhZCIsInN0eWxlIjpmYWxzZSwiZm9udCI6IiIsImZvbnRTaXplIjoxNiwiY29sb3IiOiIjNzE3MTcxIiwiY2xhc3NOYW1lIjoiIiwieCI6MTI4MCwieSI6MTg4MCwid2lyZXMiOltdfSx7ImlkIjoiNjJiMmUxNGNlMDQyOWVlZiIsInR5cGUiOiJ1aS10ZXh0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsImdyb3VwIjoiZWMwZWNiMjZmZGU4ZGIzZSIsIm9yZGVyIjowLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJuYW1lIjoiIiwibGFiZWwiOiJMYXRlc3QgTXlMZXZlbCBFdmVudCBTZXZlcml0eSIsImZvcm1hdCI6Int7bXNnLnBheWxvYWR9fSIsImxheW91dCI6InJvdy1zcHJlYWQiLCJzdHlsZSI6ZmFsc2UsImZvbnQiOiIiLCJmb250U2l6ZSI6MTYsImNvbG9yIjoiIzcxNzE3MSIsImNsYXNzTmFtZSI6IiIsIngiOjEyNzAsInkiOjE5MjAsIndpcmVzIjpbXX0seyJpZCI6IjUzZjQzOTRkYmYxMmM2YjciLCJ0eXBlIjoiT3BjVWEtRW5kcG9pbnQiLCJlbmRwb2ludCI6Im9wYy50Y3A6Ly8xOTIuMTY4LjU2LjE6NTM1MzAvT1BDVUEvU2ltdWxhdGlvblNlcnZlciIsInNlY3BvbCI6Ik5vbmUiLCJzZWNtb2RlIjoiTm9uZSIsIm5vbmUiOnRydWUsImxvZ2luIjpmYWxzZSwidXNlcmNlcnQiOmZhbHNlLCJ1c2VyY2VydGlmaWNhdGUiOiIiLCJ1c2VycHJpdmF0ZWtleSI6IiJ9LHsiaWQiOiI1MzU1ZTBjNDc2ZjlkYTNiIiwidHlwZSI6InVpLWJhc2UiLCJuYW1lIjoiTXkgRGFzaGJvYXJkIiwicGF0aCI6Ii9kYXNoYm9hcmQiLCJpbmNsdWRlQ2xpZW50RGF0YSI6dHJ1ZSwiYWNjZXB0c0NsaWVudENvbmZpZyI6WyJ1aS1ub3RpZmljYXRpb24iLCJ1aS1jb250cm9sIl0sInNob3dQYXRoSW5TaWRlYmFyIjpmYWxzZSwibmF2aWdhdGlvblN0eWxlIjoiZGVmYXVsdCJ9LHsiaWQiOiJlYzBlY2IyNmZkZThkYjNlIiwidHlwZSI6InVpLWdyb3VwIiwibmFtZSI6Ik15RGV2aWNlIFN0YXR1cyAmIENvbnRyb2wiLCJwYWdlIjoiNDRkM2ZlYjJhMTE0M2Q3YiIsIndpZHRoIjoiMyIsImhlaWdodCI6IjEiLCJvcmRlciI6NCwic2hvd1RpdGxlIjp0cnVlLCJjbGFzc05hbWUiOiIiLCJ2aXNpYmxlIjoidHJ1ZSIsImRpc2FibGVkIjoiZmFsc2UifSx7ImlkIjoiNDRkM2ZlYjJhMTE0M2Q3YiIsInR5cGUiOiJ1aS1wYWdlIiwibmFtZSI6Ik9QQyBVQSIsInVpIjoiNTM1NWUwYzQ3NmY5ZGEzYiIsInBhdGgiOiIvb3BjdWEiLCJpY29uIjoiaG9tZSIsImxheW91dCI6ImdyaWQiLCJ0aGVtZSI6IjYxZWVlNmZjNjAyODFiOWIiLCJvcmRlciI6MSwiY2xhc3NOYW1lIjoiIiwidmlzaWJsZSI6InRydWUiLCJkaXNhYmxlZCI6ImZhbHNlIn0seyJpZCI6IjYxZWVlNmZjNjAyODFiOWIiLCJ0eXBlIjoidWktdGhlbWUiLCJuYW1lIjoiRGVmYXVsdCBUaGVtZSIsImNvbG9ycyI6eyJzdXJmYWNlIjoiIzAwOTRjZSIsInByaW1hcnkiOiIjMDA5NGNlIiwiYmdQYWdlIjoiI2VlZWVlZSIsImdyb3VwQmciOiIjZmZmZmZmIiwiZ3JvdXBPdXRsaW5lIjoiI2NjY2NjYyJ9LCJzaXplcyI6eyJwYWdlUGFkZGluZyI6IjEycHgiLCJncm91cEdhcCI6IjEycHgiLCJncm91cEJvcmRlclJhZGl1cyI6IjRweCIsIndpZGdldEdhcCI6IjEycHgifX1d",[10,609,610,611,614,615,617,618,621],{},"We use an inject node to trigger the ",[100,612,613],{},"OpcUa-Event"," node.  In the properties of the event node, we get the ",[100,616,293],{}," from the ",[100,619,620],{},"MyLevelAlarm"," event from the OPC Server -",[10,623,624,628,629,631,632,634,635,85],{},[109,625],{"alt":626,"dataZoomable":112,"src":627},"mylevel-event.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fmylevel-event.png","\nAnd copy that ",[100,630,293],{}," into the ",[100,633,613],{}," node.  Event type will be ",[100,636,637],{},"BaseEvent (all)",[10,639,640,644,645,647,648,651,652,85],{},[109,641],{"alt":642,"dataZoomable":112,"src":643},"event-node-properties.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fevent-node-properties.png","\nIn the ",[100,646,560],{}," node, we set the ",[100,649,650],{},"Action"," to ",[100,653,654],{},"EVENTS",[10,656,657,661],{},[109,658],{"alt":659,"dataZoomable":112,"src":660},"client-events.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fclient-events.png","\nIf we stick a debug node on the output of the client event, we can see how the OPC Server annunciates events.",[10,663,664,668,669,671,672,675],{},[109,665],{"alt":666,"dataZoomable":112,"src":667},"event-debug.png","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fevent-debug.png","\nEvery time ",[100,670,517],{}," exceeds certain thresholds (10%, 30%, 70% and 90%) it will flag a ",[100,673,674],{},"Level Exceeded"," alarm.   The event is timestamped and assigned a severity level, which we will record and put onto the dashboard.",[10,677,678],{},"To make things simple, we’ll only track the last event.  But in a production system, you’d likely want to store these events in a relational database (historian) to keep an alarm history.  We’ll also include a notification pop-up when an alarm occurs to notify someone monitoring the dashboard a new alarm has occurred.",[10,680,681],{},"Adding alarms and events to our dashboard creates the following result -",[10,683,684],{},[109,685],{"alt":686,"dataZoomable":112,"src":687},"opc-event.gif","\u002Fblog\u002F2023\u002F07\u002Fimages\u002Fopc-ua-3\u002Fopc-event.gif",[38,689,691],{"id":690},"using-flowfuse-to-enhance-your-node-red-application:-security,-scalability,-and-robustness","Using FlowFuse to Enhance Your Node-RED Application: Security, Scalability, and Robustness",[10,693,694],{},"So, you've successfully built your Node-RED application—congratulations! But now, how do you ensure its security, scalability, and ease of collaboration? What if you want to invite your team to work on the application simultaneously or access it remotely?",[10,696,697,698,702],{},"Enter ",[14,699,701],{"href":700},"\u002F","FlowFuse",", a cloud-based platform designed to add production-grade features to your Node-RED applications. With FlowFuse, you can seamlessly integrate advanced security measures, scale your application as needed, and collaborate effortlessly with your team. It simplifies management and deployment, turning your Node-RED project into a robust, scalable solution.",[10,704,705,706,710,711,715],{},"If you're interested in learning how to use Node-RED for professional use cases, check out our eBook: ",[14,707,709],{"href":708},"\u002Febooks\u002Fbeginner-guide-to-a-professional-nodered\u002F","Ultimate Beginner's Guide to Professionals",". For additional resources, visit our ",[14,712,714],{"href":713},"\u002Fnode-red\u002Fcore-nodes\u002F","Node-RED Learning Resources section",", where you can explore integrations with different protocols, messaging services, databases, hardware, and much more.",[38,717,719],{"id":718},"conclusion","Conclusion",[10,721,722],{},"In this final article, we went over building a OPC UA Client dashboard that can browse the address space, read values from an OPC Server, write values to an OPC Server, and get events from an OPC Server.",[10,724,725],{},"This flow provides examples that can serve as a foundation for an interactive OPC Client application built in Node-RED.  This now concludes the OPC UA Series.",[10,727,728],{},"full source code for this project -",[184,730],{":height":186,"flow":731},"W3siaWQiOiJjYTYyYmUzZTAxMzg4MzE5IiwidHlwZSI6Imdyb3VwIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJuYW1lIjoiQnJvd3NlIEhpZXJhcmNoaWNhbCBBZGRyZXNzIFNwYWNlIFN0cnVjdHVyZSAmIERpc3BsYXkgb24gRGFzaGJvYXJkIiwic3R5bGUiOnsibGFiZWwiOnRydWUsImNvbG9yIjoiIzAwMDAwMCJ9LCJub2RlcyI6WyI2YjE3YjJkYTJiOTQyYmI0IiwiNjE3OTdlY2NmMjc4NTI1NyIsIjRkOTJkOTQwMTc3YjZlZTMiLCI2OGExMTNkNTg5M2I3YzAxIiwiZDBjOTY5YjZhNTlmYWMzYSIsIjYzOWRhMDFmYzk1N2U1NDciLCIyOTQzN2NhNzIyMmQ5YTY0IiwiNDk5ODNkNWRhMDk1OGJmMiIsIjQ5MDQwZDBjZjExNDRmMGEiLCJlN2M1NWY0MTJlZjg2NTQzIiwiZGUyMWI3YWQ5OGEwNTgzMyIsIjJkNTZlOWE0MzFjMjFhM2IiLCJhYzk1YmQwZTJiMzA0ZWVjIiwiNmZkYWJjYzI5NTBjY2Y0ZSIsIjFjNDlmYTUxNDJkMmNmMTciLCIzMzU4Nzg1MjcwMjA1OThjIiwiN2IyMDhmMmU4Y2JhNjIwNSIsIjUyZGQyZTVkY2RkYWQ1OGYiLCJhNWFjZGNjZmQyMDMzYWVjIiwiMTU3MzIyYzljMzYwNDQ2ZCIsIjc4YTAxMmU1ZGIzNzdmZDkiXSwieCI6OTQsInkiOjEzOSwidyI6MTE3MiwiaCI6NDIyfSx7ImlkIjoiNmIxN2IyZGEyYjk0MmJiNCIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NTUwLCJ5IjoyODAsIndpcmVzIjpbWyI0ZDkyZDk0MDE3N2I2ZWUzIiwiZDBjOTY5YjZhNTlmYWMzYSIsIjYzOWRhMDFmYzk1N2U1NDciXV19LHsiaWQiOiI2MTc5N2VjY2YyNzg1MjU3IiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2V0IEJhc2UgRm9sZGVyIFN0cnVjdHVyZSIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9LHsicCI6InRvcGljIiwidnQiOiJzdHIifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOiIwLjMiLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjoyODAsInkiOjI4MCwid2lyZXMiOltbIjZiMTdiMmRhMmI5NDJiYjQiXV19LHsiaWQiOiI0ZDkyZDk0MDE3N2I2ZWUzIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiU2ltdWxhdGlvbiBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLlNpbXVsYXRpb24ubm9kZUlkIiwicHQiOiJmbG93IiwidG8iOiJwYXlsb2FkWzJdLml0ZW0ubm9kZUlkIiwidG90IjoibXNnIn0seyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFsyXS5pdGVtLmJyb3dzZU5hbWUubmFtZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo4MzAsInkiOjIyMCwid2lyZXMiOltbIjMzNTg3ODUyNzAyMDU5OGMiXV19LHsiaWQiOiI2OGExMTNkNTg5M2I3YzAxIiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwibmFtZSI6IkRpc3BsYXkgb24gRGFzaGJvYXJkIiwiaW5mbyI6IiIsIngiOjExNDAsInkiOjE4MCwid2lyZXMiOltdfSx7ImlkIjoiZDBjOTY5YjZhNTlmYWMzYSIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwibmFtZSI6Ik15T2JqZWN0cyBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLk15T2JqZWN0cy5ub2RlSWQiLCJwdCI6ImZsb3ciLCJ0byI6InBheWxvYWRbNF0uaXRlbS5ub2RlSWQiLCJ0b3QiOiJtc2cifSx7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzRdLml0ZW0uYnJvd3NlTmFtZS5uYW1lIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjgzMCwieSI6MzQwLCJ3aXJlcyI6W1siNTJkZDJlNWRjZGRhZDU4ZiJdXX0seyJpZCI6IjYzOWRhMDFmYzk1N2U1NDciLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsIm5hbWUiOiJTdGF0aWNEYXRhIEZvbGRlciIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6Ik9iamVjdHMuU3RhdGljRGF0YS5ub2RlSWQiLCJwdCI6ImZsb3ciLCJ0byI6InBheWxvYWRbM10uaXRlbS5ub2RlSWQiLCJ0b3QiOiJtc2cifSx7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzNdLml0ZW0uYnJvd3NlTmFtZS5uYW1lIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjgzMCwieSI6MjgwLCJ3aXJlcyI6W1siN2IyMDhmMmU4Y2JhNjIwNSJdXX0seyJpZCI6IjI5NDM3Y2E3MjIyZDlhNjQiLCJ0eXBlIjoiT3BjVWEtQnJvd3NlciIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJlbmRwb2ludCI6IjUzZjQzOTRkYmYxMmM2YjciLCJpdGVtIjoiIiwiZGF0YXR5cGUiOiIiLCJ0b3BpYyI6IiIsIml0ZW1zIjpbXSwibmFtZSI6Ik9QQyBDbGllbnQgTmFtZXNwYWNlIEJyb3dzZSIsIngiOjU1MCwieSI6NDQwLCJ3aXJlcyI6W1siNDkwNDBkMGNmMTE0NGYwYSIsImU3YzU1ZjQxMmVmODY1NDMiXV19LHsiaWQiOiI0OTk4M2Q1ZGEwOTU4YmYyIiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2V0IFN0YXRpY0RhdGEgRm9sZGVyIFN0cnVjdHVyZSIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9LHsicCI6InRvcGljIiwidiI6Ik9iamVjdHMuU3RhdGljRGF0YS5ub2RlSWQiLCJ2dCI6ImZsb3cifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOiIwLjMiLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjoyNzAsInkiOjQ0MCwid2lyZXMiOltbIjI5NDM3Y2E3MjIyZDlhNjQiXV19LHsiaWQiOiI0OTA0MGQwY2YxMTQ0ZjBhIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiQW5hbG9nSXRlbUFycmF5cyBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLlN0YXRpY0RhdGEuQW5hbG9nSXRlbUFycmF5cy5ub2RlSWQiLCJwdCI6ImZsb3ciLCJ0byI6InBheWxvYWRbMV0uaXRlbS5ub2RlSWQiLCJ0b3QiOiJtc2cifSx7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzFdLml0ZW0uYnJvd3NlTmFtZS5uYW1lIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjg1MCwieSI6NDYwLCJ3aXJlcyI6W1siMTU3MzIyYzljMzYwNDQ2ZCJdXX0seyJpZCI6ImU3YzU1ZjQxMmVmODY1NDMiLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsIm5hbWUiOiJTdGF0aWNBcnJheVZhcmlhYmxlcyBGb2xkZXIiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJPYmplY3RzLlN0YXRpY0RhdGEuU3RhdGljQXJyYXlWYXJpYWJsZXMubm9kZUlkIiwicHQiOiJmbG93IiwidG8iOiJwYXlsb2FkWzZdLml0ZW0ubm9kZUlkIiwidG90IjoibXNnIn0seyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFs2XS5pdGVtLmJyb3dzZU5hbWUubmFtZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo4NjAsInkiOjQwMCwid2lyZXMiOltbImE1YWNkY2NmZDIwMzNhZWMiXV19LHsiaWQiOiJkZTIxYjdhZDk4YTA1ODMzIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiTXlEZXZpY2UgT2JqZWN0IiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoiT2JqZWN0cy5NeU9iamVjdHMuTXlEZXZpY2Uubm9kZUlkIiwicHQiOiJmbG93IiwidG8iOiJwYXlsb2FkWzBdLml0ZW0ubm9kZUlkIiwidG90IjoibXNnIn0seyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFswXS5pdGVtLmJyb3dzZU5hbWUubmFtZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo4MzAsInkiOjUyMCwid2lyZXMiOltbIjc4YTAxMmU1ZGIzNzdmZDkiXV19LHsiaWQiOiIyZDU2ZTlhNDMxYzIxYTNiIiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2V0IE15T2JqZWN0cyBPYmplY3QgU3RydWN0dXJlIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn0seyJwIjoidG9waWMiLCJ2IjoiT2JqZWN0cy5NeU9iamVjdHMubm9kZUlkIiwidnQiOiJmbG93In1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6dHJ1ZSwib25jZURlbGF5IjoiMC41IiwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MjcwLCJ5Ijo1MjAsIndpcmVzIjpbWyJhYzk1YmQwZTJiMzA0ZWVjIl1dfSx7ImlkIjoiYWM5NWJkMGUyYjMwNGVlYyIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NTUwLCJ5Ijo1MjAsIndpcmVzIjpbWyJkZTIxYjdhZDk4YTA1ODMzIl1dfSx7ImlkIjoiNmZkYWJjYzI5NTBjY2Y0ZSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsIm5hbWUiOiJTdG9yZSAmIFBhcnNlIG5vZGVJZCAmIGJyb3dzZU5hbWUiLCJpbmZvIjoiIiwieCI6ODUwLCJ5IjoxODAsIndpcmVzIjpbXX0seyJpZCI6IjFjNDlmYTUxNDJkMmNmMTciLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJuYW1lIjoiR2xvYmFsIEFkZHJlc3MgU3BhY2UgRm9sZGVyIEJyb3dzZSIsImluZm8iOiIiLCJ4Ijo0MTAsInkiOjIyMCwid2lyZXMiOltdfSx7ImlkIjoiMzM1ODc4NTI3MDIwNTk4YyIsInR5cGUiOiJ1aS10ZW1wbGF0ZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJncm91cCI6ImVmOTk5OGJhZjVmNjFlOGEiLCJwYWdlIjoiIiwidWkiOiIiLCJuYW1lIjoiU2ltdWxhdGlvbiIsIm9yZGVyIjoxLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJoZWFkIjoiIiwiZm9ybWF0IjoiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtY29udGVudFwiPlxuICAgICAgICA8cD5OYW1lc3BhY2UgMzwvcD5cbiAgICAgICAgPHYtaWNvbiBjb2xvcj1cImJsYWNrXCIgaWNvbj1cIm1kaS1mb2xkZXJcIiBzaXplPVwibGFyZ2VcIj48L3YtaWNvbj4ge3sgbXNnLnBheWxvYWQgfX1cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+Iiwic3RvcmVPdXRNZXNzYWdlcyI6dHJ1ZSwicGFzc3RocnUiOnRydWUsInJlc2VuZE9uUmVmcmVzaCI6dHJ1ZSwidGVtcGxhdGVTY29wZSI6ImxvY2FsIiwiY2xhc3NOYW1lIjoiIiwieCI6MTExMCwieSI6MjIwLCJ3aXJlcyI6W1tdXX0seyJpZCI6IjdiMjA4ZjJlOGNiYTYyMDUiLCJ0eXBlIjoidWktdGVtcGxhdGUiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwiZ3JvdXAiOiJlZjk5OThiYWY1ZjYxZThhIiwicGFnZSI6IiIsInVpIjoiIiwibmFtZSI6IlN0YXRpY0RhdGEiLCJvcmRlciI6Miwid2lkdGgiOjAsImhlaWdodCI6MCwiaGVhZCI6IiIsImZvcm1hdCI6Ijx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWNvbnRlbnRcIj5cbiAgICAgICAgPHA+TmFtZXNwYWNlIDU8L3A+XG4gICAgICAgIDx2LWljb24gY29sb3I9XCJibGFja1wiIGljb249XCJtZGktZm9sZGVyLWFycm93LWRvd25cIiBzaXplPVwibGFyZ2VcIj48L3YtaWNvbj4ge3sgbXNnLnBheWxvYWQgfX1cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+Iiwic3RvcmVPdXRNZXNzYWdlcyI6dHJ1ZSwicGFzc3RocnUiOnRydWUsInJlc2VuZE9uUmVmcmVzaCI6dHJ1ZSwidGVtcGxhdGVTY29wZSI6ImxvY2FsIiwiY2xhc3NOYW1lIjoiIiwieCI6MTExMCwieSI6MjgwLCJ3aXJlcyI6W1tdXX0seyJpZCI6IjUyZGQyZTVkY2RkYWQ1OGYiLCJ0eXBlIjoidWktdGVtcGxhdGUiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJjYTYyYmUzZTAxMzg4MzE5IiwiZ3JvdXAiOiJlZjk5OThiYWY1ZjYxZThhIiwicGFnZSI6IiIsInVpIjoiIiwibmFtZSI6Ik15T2JqZWN0cyIsIm9yZGVyIjo1LCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJoZWFkIjoiIiwiZm9ybWF0IjoiPHRlbXBsYXRlPlxuICAgIDxwPk5hbWVzcGFjZSA2PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtY29udGVudFwiPlxuICAgICAgICA8di1pY29uIGNvbG9yPVwiYmxhY2tcIiBpY29uPVwibWRpLWZvbGRlclwiIHNpemU9XCJsYXJnZVwiPjwvdi1pY29uPiB7eyBtc2cucGF5bG9hZCB9fVxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT4iLCJzdG9yZU91dE1lc3NhZ2VzIjp0cnVlLCJwYXNzdGhydSI6dHJ1ZSwicmVzZW5kT25SZWZyZXNoIjp0cnVlLCJ0ZW1wbGF0ZVNjb3BlIjoibG9jYWwiLCJjbGFzc05hbWUiOiIiLCJ4IjoxMTEwLCJ5IjozNDAsIndpcmVzIjpbW11dfSx7ImlkIjoiYTVhY2RjY2ZkMjAzM2FlYyIsInR5cGUiOiJ1aS10ZW1wbGF0ZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJncm91cCI6ImVmOTk5OGJhZjVmNjFlOGEiLCJwYWdlIjoiIiwidWkiOiIiLCJuYW1lIjoiU3RhdGljQXJyYXlWYXJpYWJsZXMiLCJvcmRlciI6Mywid2lkdGgiOjAsImhlaWdodCI6MCwiaGVhZCI6IiIsImZvcm1hdCI6Ijx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlciBtbC0zXCI+XG4gICAgICAgIDx2LWljb24gY29sb3I9XCJibGFja1wiIGljb249XCJtZGktZm9sZGVyXCIgc2l6ZT1cImxhcmdlXCI+PC92LWljb24+IHt7IG1zZy5wYXlsb2FkIH19XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPiIsInN0b3JlT3V0TWVzc2FnZXMiOnRydWUsInBhc3N0aHJ1Ijp0cnVlLCJyZXNlbmRPblJlZnJlc2giOnRydWUsInRlbXBsYXRlU2NvcGUiOiJsb2NhbCIsImNsYXNzTmFtZSI6IiIsIngiOjExNDAsInkiOjQwMCwid2lyZXMiOltbXV19LHsiaWQiOiIxNTczMjJjOWMzNjA0NDZkIiwidHlwZSI6InVpLXRlbXBsYXRlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiY2E2MmJlM2UwMTM4ODMxOSIsImdyb3VwIjoiZWY5OTk4YmFmNWY2MWU4YSIsInBhZ2UiOiIiLCJ1aSI6IiIsIm5hbWUiOiJBbmFsb2dJdGVtQXJyYXlzIiwib3JkZXIiOjQsIndpZHRoIjowLCJoZWlnaHQiOjAsImhlYWQiOiIiLCJmb3JtYXQiOiI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1jZW50ZXIgbWwtM1wiPlxuICAgICAgICA8di1pY29uIGNvbG9yPVwiYmxhY2tcIiBpY29uPVwibWRpLWZvbGRlclwiIHNpemU9XCJsYXJnZVwiPjwvdi1pY29uPiB7eyBtc2cucGF5bG9hZCB9fVxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT4iLCJzdG9yZU91dE1lc3NhZ2VzIjp0cnVlLCJwYXNzdGhydSI6dHJ1ZSwicmVzZW5kT25SZWZyZXNoIjp0cnVlLCJ0ZW1wbGF0ZVNjb3BlIjoibG9jYWwiLCJjbGFzc05hbWUiOiIiLCJ4IjoxMTMwLCJ5Ijo0NjAsIndpcmVzIjpbW11dfSx7ImlkIjoiNzhhMDEyZTVkYjM3N2ZkOSIsInR5cGUiOiJ1aS10ZW1wbGF0ZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImNhNjJiZTNlMDEzODgzMTkiLCJncm91cCI6ImVmOTk5OGJhZjVmNjFlOGEiLCJwYWdlIjoiIiwidWkiOiIiLCJuYW1lIjoiTXlEZXZpY2UiLCJvcmRlciI6Niwid2lkdGgiOjAsImhlaWdodCI6MCwiaGVhZCI6IiIsImZvcm1hdCI6Ijx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWNlbnRlciBtbC0zXCI+XG4gICAgICAgIDx2LWljb24gY29sb3I9XCJibGFja1wiIGljb249XCJtZGktZm9sZGVyXCIgc2l6ZT1cImxhcmdlXCI+PC92LWljb24+IHt7IG1zZy5wYXlsb2FkIH19XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPiIsInN0b3JlT3V0TWVzc2FnZXMiOnRydWUsInBhc3N0aHJ1Ijp0cnVlLCJyZXNlbmRPblJlZnJlc2giOnRydWUsInRlbXBsYXRlU2NvcGUiOiJsb2NhbCIsImNsYXNzTmFtZSI6IiIsIngiOjExMDAsInkiOjUyMCwid2lyZXMiOltbXV19LHsiaWQiOiI1M2Y0Mzk0ZGJmMTJjNmI3IiwidHlwZSI6Ik9wY1VhLUVuZHBvaW50IiwiZW5kcG9pbnQiOiJvcGMudGNwOi8vMTkyLjE2OC41Ni4xOjUzNTMwL09QQ1VBL1NpbXVsYXRpb25TZXJ2ZXIiLCJzZWNwb2wiOiJOb25lIiwic2VjbW9kZSI6Ik5vbmUiLCJub25lIjp0cnVlLCJsb2dpbiI6ZmFsc2UsInVzZXJjZXJ0IjpmYWxzZSwidXNlcmNlcnRpZmljYXRlIjoiIiwidXNlcnByaXZhdGVrZXkiOiIifSx7ImlkIjoiZWY5OTk4YmFmNWY2MWU4YSIsInR5cGUiOiJ1aS1ncm91cCIsIm5hbWUiOiIgQWRkcmVzcyBTcGFjZSBGb2xkZXIgU3RydWN0dXJlIiwicGFnZSI6IjQ0ZDNmZWIyYTExNDNkN2IiLCJ3aWR0aCI6IjIiLCJoZWlnaHQiOiIxIiwib3JkZXIiOjEsInNob3dUaXRsZSI6dHJ1ZSwiY2xhc3NOYW1lIjoiIiwidmlzaWJsZSI6InRydWUiLCJkaXNhYmxlZCI6ImZhbHNlIn0seyJpZCI6IjQ0ZDNmZWIyYTExNDNkN2IiLCJ0eXBlIjoidWktcGFnZSIsIm5hbWUiOiJPUEMgVUEiLCJ1aSI6IjUzNTVlMGM0NzZmOWRhM2IiLCJwYXRoIjoiL29wY3VhIiwiaWNvbiI6ImhvbWUiLCJsYXlvdXQiOiJncmlkIiwidGhlbWUiOiI2MWVlZTZmYzYwMjgxYjliIiwib3JkZXIiOjEsImNsYXNzTmFtZSI6IiIsInZpc2libGUiOiJ0cnVlIiwiZGlzYWJsZWQiOiJmYWxzZSJ9LHsiaWQiOiI1MzU1ZTBjNDc2ZjlkYTNiIiwidHlwZSI6InVpLWJhc2UiLCJuYW1lIjoiTXkgRGFzaGJvYXJkIiwicGF0aCI6Ii9kYXNoYm9hcmQiLCJpbmNsdWRlQ2xpZW50RGF0YSI6dHJ1ZSwiYWNjZXB0c0NsaWVudENvbmZpZyI6WyJ1aS1ub3RpZmljYXRpb24iLCJ1aS1jb250cm9sIl0sInNob3dQYXRoSW5TaWRlYmFyIjpmYWxzZSwibmF2aWdhdGlvblN0eWxlIjoiZGVmYXVsdCJ9LHsiaWQiOiI2MWVlZTZmYzYwMjgxYjliIiwidHlwZSI6InVpLXRoZW1lIiwibmFtZSI6IkRlZmF1bHQgVGhlbWUiLCJjb2xvcnMiOnsic3VyZmFjZSI6IiMwMDk0Y2UiLCJwcmltYXJ5IjoiIzAwOTRjZSIsImJnUGFnZSI6IiNlZWVlZWUiLCJncm91cEJnIjoiI2ZmZmZmZiIsImdyb3VwT3V0bGluZSI6IiNjY2NjY2MifSwic2l6ZXMiOnsicGFnZVBhZGRpbmciOiIxMnB4IiwiZ3JvdXBHYXAiOiIxMnB4IiwiZ3JvdXBCb3JkZXJSYWRpdXMiOiI0cHgiLCJ3aWRnZXRHYXAiOiIxMnB4In19LHsiaWQiOiI4NTU3MDcyZjA1ZTRiZGEwIiwidHlwZSI6Imdyb3VwIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJuYW1lIjoiUmVhZCBTaW11bGF0aW9uIFZhbHVlcyAmIERpc3BsYXkgb24gRGFzaGJvYXJkIiwic3R5bGUiOnsibGFiZWwiOnRydWUsImNvbG9yIjoiIzAwMDAwMCJ9LCJub2RlcyI6WyI5NjU5ZDQwYWM5MDYzNzY0IiwiOWY1YjU5N2VjODE3OWZiNCIsImE4ZDkxOWY0OTdmY2ZmMDQiLCIxM2Y1Yzk4YjdmZDVmNWRhIiwiZWM1ZGNhNWViOWQ0OTcxYiIsIjE3ODBjYjg2NTk3ZDNjNjciLCIxYTJmY2FjODcyNDdjZGE0IiwiNGQ5Yjc1OGUzOTU1NTEyNCIsImRhNDY4YmMxNTA1MTdmYTYiLCI4MmFhMTIxNzNkZDdiYmNhIiwiNTdkODc3N2UzNGI1NWI3YiIsIjEwODc3OTA5ZDFkYWY2ZmUiLCJjNGQ0YTNiMGRmMzcyZTRjIiwiYjBjZjUxMWY4MjRmMmE4NiIsImYyZWZjNmI0MTk0MTRjOWEiXSwieCI6OTQsInkiOjU5OSwidyI6MTM3MiwiaCI6MzAyfSx7ImlkIjoiOTY1OWQ0MGFjOTA2Mzc2NCIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NTcwLCJ5Ijo3NjAsIndpcmVzIjpbWyJlYzVkY2E1ZWI5ZDQ5NzFiIl1dfSx7ImlkIjoiOWY1YjU5N2VjODE3OWZiNCIsInR5cGUiOiJpbmplY3QiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI4NTU3MDcyZjA1ZTRiZGEwIiwibmFtZSI6IlVwZGF0ZSBTaW11bGF0aW9uIFZhbHVlcyBAIDEgc2Vjb25kIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn0seyJwIjoidG9waWMiLCJ2IjoiT2JqZWN0cy5TaW11bGF0aW9uLm5vZGVJZCIsInZ0IjoiZmxvdyJ9XSwicmVwZWF0IjoiMSIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MzAwLCJ5Ijo3NjAsIndpcmVzIjpbWyI5NjU5ZDQwYWM5MDYzNzY0Il1dfSx7ImlkIjoiYThkOTE5ZjQ5N2ZjZmYwNCIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJSZWFkIFNpbXVsYXRpb24gVmFsdWVzIiwiaW5mbyI6IiIsIngiOjQ2MCwieSI6NzIwLCJ3aXJlcyI6W119LHsiaWQiOiIxM2Y1Yzk4YjdmZDVmNWRhIiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6Ijg1NTcwNzJmMDVlNGJkYTAiLCJuYW1lIjoiR2V0IENvdW50ZXIgVmFsdWUiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWRbMV0uaXRlbS52YWx1ZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4IjoxMDcwLCJ5Ijo2ODAsIndpcmVzIjpbWyIxMDg3NzkwOWQxZGFmNmZlIl1dfSx7ImlkIjoiZWM1ZGNhNWViOWQ0OTcxYiIsInR5cGUiOiJzd2l0Y2giLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI4NTU3MDcyZjA1ZTRiZGEwIiwibmFtZSI6ImVtcHR5IGNoZWNrIiwicHJvcGVydHkiOiJwYXlsb2FkIiwicHJvcGVydHlUeXBlIjoibXNnIiwicnVsZXMiOlt7InQiOiJuZW1wdHkifV0sImNoZWNrYWxsIjoidHJ1ZSIsInJlcGFpciI6ZmFsc2UsIm91dHB1dHMiOjEsIngiOjc5MCwieSI6NzYwLCJ3aXJlcyI6W1siMTNmNWM5OGI3ZmQ1ZjVkYSIsIjE3ODBjYjg2NTk3ZDNjNjciLCIxYTJmY2FjODcyNDdjZGE0IiwiNGQ5Yjc1OGUzOTU1NTEyNCJdXX0seyJpZCI6IjE3ODBjYjg2NTk3ZDNjNjciLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJHZXQgUmFuZG9tIE51bWJlciBWYWx1ZSIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFsyXS5pdGVtLnZhbHVlIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjExMDAsInkiOjc0MCwid2lyZXMiOltbImM0ZDRhM2IwZGYzNzJlNGMiXV19LHsiaWQiOiIxYTJmY2FjODcyNDdjZGE0IiwidHlwZSI6ImNoYW5nZSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6Ijg1NTcwNzJmMDVlNGJkYTAiLCJuYW1lIjoiR2V0IFNhd3Rvb3RoIFZhbHVlIiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkWzNdLml0ZW0udmFsdWUiLCJ0b3QiOiJtc2cifV0sImFjdGlvbiI6IiIsInByb3BlcnR5IjoiIiwiZnJvbSI6IiIsInRvIjoiIiwicmVnIjpmYWxzZSwieCI6MTA4MCwieSI6ODAwLCJ3aXJlcyI6W1siYjBjZjUxMWY4MjRmMmE4NiJdXX0seyJpZCI6IjRkOWI3NThlMzk1NTUxMjQiLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJHZXQgU2F3dG9vdGggVmFsdWUiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWRbNF0uaXRlbS52YWx1ZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4IjoxMDgwLCJ5Ijo4NjAsIndpcmVzIjpbWyJmMmVmYzZiNDE5NDE0YzlhIl1dfSx7ImlkIjoiZGE0NjhiYzE1MDUxN2ZhNiIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJEaXNjYXJkIEVtcHR5IERhdGFzZXRzIiwiaW5mbyI6IiIsIngiOjc4MCwieSI6NzIwLCJ3aXJlcyI6W119LHsiaWQiOiI4MmFhMTIxNzNkZDdiYmNhIiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI4NTU3MDcyZjA1ZTRiZGEwIiwibmFtZSI6IlBhcnNlIFNpbXVsYXRpb24gVmFsdWVzIiwiaW5mbyI6IiIsIngiOjEwNzAsInkiOjY0MCwid2lyZXMiOltdfSx7ImlkIjoiNTdkODc3N2UzNGI1NWI3YiIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsIm5hbWUiOiJEaXNwbGF5IG9uIERhc2hib2FyZCIsImluZm8iOiIiLCJ4IjoxMzQwLCJ5Ijo2NDAsIndpcmVzIjpbXX0seyJpZCI6IjEwODc3OTA5ZDFkYWY2ZmUiLCJ0eXBlIjoidWktZ2F1Z2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI4NTU3MDcyZjA1ZTRiZGEwIiwibmFtZSI6IkNvdW50ZXIiLCJncm91cCI6ImFmMjYzMDY0ODIwZmI3ZDAiLCJvcmRlciI6MCwid2lkdGgiOjMsImhlaWdodCI6MywiZ3R5cGUiOiJnYXVnZS1oYWxmIiwiZ3N0eWxlIjoibmVlZGxlIiwidGl0bGUiOiJnYXVnZSIsInVuaXRzIjoidW5pdHMiLCJpY29uIjoiIiwicHJlZml4IjoiIiwic3VmZml4IjoiIiwic2VnbWVudHMiOlt7ImZyb20iOiIwIiwiY29sb3IiOiIjNWNkNjVjIn0seyJmcm9tIjoiMTUiLCJjb2xvciI6IiNmZmM4MDAifSx7ImZyb20iOiIzMCIsImNvbG9yIjoiI2VhNTM1MyJ9XSwibWluIjowLCJtYXgiOiIzMCIsInNpemVUaGlja25lc3MiOjE2LCJzaXplR2FwIjo0LCJzaXplS2V5VGhpY2tuZXNzIjo4LCJzdHlsZVJvdW5kZWQiOnRydWUsInN0eWxlR2xvdyI6ZmFsc2UsImNsYXNzTmFtZSI6IiIsIngiOjEzMjAsInkiOjY4MCwid2lyZXMiOltdfSx7ImlkIjoiYzRkNGEzYjBkZjM3MmU0YyIsInR5cGUiOiJ1aS10ZXh0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsImdyb3VwIjoiYWYyNjMwNjQ4MjBmYjdkMCIsIm9yZGVyIjowLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJuYW1lIjoiUmFuZG9tIE51bWJlciIsImxhYmVsIjoiUmFuZG9tIE51bWJlciIsImZvcm1hdCI6Int7bXNnLnBheWxvYWR9fSIsImxheW91dCI6InJvdy1zcHJlYWQiLCJzdHlsZSI6ZmFsc2UsImZvbnQiOiIiLCJmb250U2l6ZSI6MTYsImNvbG9yIjoiIzcxNzE3MSIsImNsYXNzTmFtZSI6IiIsIngiOjEzNTAsInkiOjc0MCwid2lyZXMiOltdfSx7ImlkIjoiYjBjZjUxMWY4MjRmMmE4NiIsInR5cGUiOiJ1aS1jaGFydCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6Ijg1NTcwNzJmMDVlNGJkYTAiLCJncm91cCI6ImFmMjYzMDY0ODIwZmI3ZDAiLCJuYW1lIjoiIiwibGFiZWwiOiJTYXd0b290aCIsIm9yZGVyIjo5MDA3MTk5MjU0NzQwOTkxLCJjaGFydFR5cGUiOiJsaW5lIiwiY2F0ZWdvcnkiOiJTYXd0b290aCIsImNhdGVnb3J5VHlwZSI6InN0ciIsInhBeGlzUHJvcGVydHkiOiIiLCJ4QXhpc1Byb3BlcnR5VHlwZSI6Im1zZyIsInhBeGlzVHlwZSI6InRpbWUiLCJ5QXhpc1Byb3BlcnR5IjoiIiwieW1pbiI6IiIsInltYXgiOiIiLCJhY3Rpb24iOiJhcHBlbmQiLCJwb2ludFNoYXBlIjoibGluZSIsInBvaW50UmFkaXVzIjo0LCJzaG93TGVnZW5kIjp0cnVlLCJyZW1vdmVPbGRlciI6MSwicmVtb3ZlT2xkZXJVbml0IjoiNjAiLCJyZW1vdmVPbGRlclBvaW50cyI6IiIsImNvbG9ycyI6WyIjMWY3N2I0IiwiI2FlYzdlOCIsIiNmZjdmMGUiLCIjMmNhMDJjIiwiIzk4ZGY4YSIsIiNkNjI3MjgiLCIjZmY5ODk2IiwiIzk0NjdiZCIsIiNjNWIwZDUiXSwid2lkdGgiOiIzIiwiaGVpZ2h0IjoiNCIsImNsYXNzTmFtZSI6IiIsIngiOjEzMjAsInkiOjgwMCwid2lyZXMiOltbXV19LHsiaWQiOiJmMmVmYzZiNDE5NDE0YzlhIiwidHlwZSI6InVpLWNoYXJ0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiODU1NzA3MmYwNWU0YmRhMCIsImdyb3VwIjoiYWYyNjMwNjQ4MjBmYjdkMCIsIm5hbWUiOiIiLCJsYWJlbCI6IlNpbnVzb2lkIiwib3JkZXIiOjkwMDcxOTkyNTQ3NDA5OTEsImNoYXJ0VHlwZSI6ImxpbmUiLCJjYXRlZ29yeSI6IlNhd3Rvb3RoIiwiY2F0ZWdvcnlUeXBlIjoic3RyIiwieEF4aXNQcm9wZXJ0eSI6IiIsInhBeGlzUHJvcGVydHlUeXBlIjoibXNnIiwieEF4aXNUeXBlIjoidGltZSIsInlBeGlzUHJvcGVydHkiOiIiLCJ5bWluIjoiIiwieW1heCI6IiIsImFjdGlvbiI6ImFwcGVuZCIsInBvaW50U2hhcGUiOiJsaW5lIiwicG9pbnRSYWRpdXMiOjQsInNob3dMZWdlbmQiOnRydWUsInJlbW92ZU9sZGVyIjoxLCJyZW1vdmVPbGRlclVuaXQiOiI2MCIsInJlbW92ZU9sZGVyUG9pbnRzIjoiIiwiY29sb3JzIjpbIiMxZjc3YjQiLCIjYWVjN2U4IiwiI2ZmN2YwZSIsIiMyY2EwMmMiLCIjOThkZjhhIiwiI2Q2MjcyOCIsIiNmZjk4OTYiLCIjOTQ2N2JkIiwiI2M1YjBkNSJdLCJ3aWR0aCI6IjMiLCJoZWlnaHQiOiI0IiwiY2xhc3NOYW1lIjoiIiwieCI6MTMyMCwieSI6ODYwLCJ3aXJlcyI6W1tdXX0seyJpZCI6ImFmMjYzMDY0ODIwZmI3ZDAiLCJ0eXBlIjoidWktZ3JvdXAiLCJuYW1lIjoiU2ltdWxhdGlvbiB2YWx1ZXMiLCJwYWdlIjoiNDRkM2ZlYjJhMTE0M2Q3YiIsIndpZHRoIjoiMyIsImhlaWdodCI6IjEiLCJvcmRlciI6Miwic2hvd1RpdGxlIjp0cnVlLCJjbGFzc05hbWUiOiIiLCJ2aXNpYmxlIjoidHJ1ZSIsImRpc2FibGVkIjoiZmFsc2UifSx7ImlkIjoiNWFmZGJkZGY3MTUwNzg4NiIsInR5cGUiOiJncm91cCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwibmFtZSI6IlJlYWQgU3RhdGljRGF0YSBWYWx1ZXMgJiBEaXNwbGF5IG9uIERhc2hib2FyZCIsInN0eWxlIjp7ImxhYmVsIjp0cnVlLCJjb2xvciI6IiMwMDAwMDAifSwibm9kZXMiOlsiZTk5OGFhODA0MDQyMTI4YiIsIjZjOWI3ZDRkMTk1YTFlOWEiLCJjZDA5N2I3NDRkMGVjNjI1IiwiMThkMjE2MDdjODdhYjE1MyIsIjdiNTE0M2M0OTYwZjkyYTEiLCIwNjI1YjBjZjZmNTQ2YTRhIiwiOWQ4OTlmYmI0ZDE2NDhiMyIsIjZlMWVkYzMxNjg3ZGRlNTQiLCIwNTFlMWYyODIwNzZmZWQyIiwiZGUyYTFjM2UzODBmNzQzYiIsImM3NDYwNmM0OGNjZjVhNDAiLCIwNTNiZGExM2YyYTJlYWJlIiwiMjc3ZGNmNDMwZGM4Njk5NiIsImQ3MDhlNjI2NGNlYzAwNzAiXSwieCI6ODQsInkiOjkzOSwidyI6MTM4MiwiaCI6MjAyfSx7ImlkIjoiZTk5OGFhODA0MDQyMTI4YiIsInR5cGUiOiJPcGNVYS1Ccm93c2VyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsIml0ZW0iOiIiLCJkYXRhdHlwZSI6IiIsInRvcGljIjoiIiwiaXRlbXMiOltdLCJuYW1lIjoiT1BDIENsaWVudCBOYW1lc3BhY2UgQnJvd3NlIiwieCI6NjMwLCJ5IjoxMDIwLCJ3aXJlcyI6W1siN2I1MTQzYzQ5NjBmOTJhMSJdXX0seyJpZCI6IjZjOWI3ZDRkMTk1YTFlOWEiLCJ0eXBlIjoiaW5qZWN0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsIm5hbWUiOiJVcGRhdGUgQW5hbG9nSXRlbUFycmF5cyBWYWx1ZXMgQCAxIHNlY29uZCIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9LHsicCI6InRvcGljIiwidiI6Ik9iamVjdHMuU3RhdGljRGF0YS5BbmFsb2dJdGVtQXJyYXlzLm5vZGVJZCIsInZ0IjoiZmxvdyJ9XSwicmVwZWF0IjoiMSIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MzIwLCJ5IjoxMDIwLCJ3aXJlcyI6W1siZTk5OGFhODA0MDQyMTI4YiJdXX0seyJpZCI6ImNkMDk3Yjc0NGQwZWM2MjUiLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJuYW1lIjoiUmVhZCBTdGF0aWNEYXRhIFZhbHVlcyIsImluZm8iOiIiLCJ4Ijo1MjAsInkiOjk4MCwid2lyZXMiOltdfSx7ImlkIjoiMThkMjE2MDdjODdhYjE1MyIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI1YWZkYmRkZjcxNTA3ODg2IiwibmFtZSI6IkdldCBCeXRlQW5hbG9nSXRlbUFycmF5IFZhbHVlIiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiIkc3RyaW5nKHBheWxvYWRbMF0uaXRlbS52YWx1ZSlcdCIsInRvdCI6Impzb25hdGEifV0sImFjdGlvbiI6IiIsInByb3BlcnR5IjoiIiwiZnJvbSI6IiIsInRvIjoiIiwicmVnIjpmYWxzZSwieCI6MTA3MCwieSI6MTAyMCwid2lyZXMiOltbIjI3N2RjZjQzMGRjODY5OTYiXV19LHsiaWQiOiI3YjUxNDNjNDk2MGY5MmExIiwidHlwZSI6InN3aXRjaCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJuYW1lIjoiZW1wdHkgY2hlY2siLCJwcm9wZXJ0eSI6InBheWxvYWQiLCJwcm9wZXJ0eVR5cGUiOiJtc2ciLCJydWxlcyI6W3sidCI6Im5lbXB0eSJ9XSwiY2hlY2thbGwiOiJ0cnVlIiwicmVwYWlyIjpmYWxzZSwib3V0cHV0cyI6MSwieCI6ODMwLCJ5IjoxMDIwLCJ3aXJlcyI6W1siMThkMjE2MDdjODdhYjE1MyJdXX0seyJpZCI6IjA2MjViMGNmNmY1NDZhNGEiLCJ0eXBlIjoiT3BjVWEtQnJvd3NlciIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJlbmRwb2ludCI6IjUzZjQzOTRkYmYxMmM2YjciLCJpdGVtIjoiIiwiZGF0YXR5cGUiOiIiLCJ0b3BpYyI6IiIsIml0ZW1zIjpbXSwibmFtZSI6Ik9QQyBDbGllbnQgTmFtZXNwYWNlIEJyb3dzZSIsIngiOjYzMCwieSI6MTEwMCwid2lyZXMiOltbIjA1MWUxZjI4MjA3NmZlZDIiXV19LHsiaWQiOiI5ZDg5OWZiYjRkMTY0OGIzIiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJuYW1lIjoiVXBkYXRlIFN0YXRpY0FycmF5VmFyaWFibGVzIFZhbHVlcyBAMSBzZWNvbmQiLCJwcm9wcyI6W3sicCI6InBheWxvYWQifSx7InAiOiJ0b3BpYyIsInYiOiJPYmplY3RzLlN0YXRpY0RhdGEuU3RhdGljQXJyYXlWYXJpYWJsZXMubm9kZUlkIiwidnQiOiJmbG93In1dLCJyZXBlYXQiOiIxIiwiY3JvbnRhYiI6IiIsIm9uY2UiOnRydWUsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjozMjAsInkiOjExMDAsIndpcmVzIjpbWyIwNjI1YjBjZjZmNTQ2YTRhIl1dfSx7ImlkIjoiNmUxZWRjMzE2ODdkZGU1NCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI1YWZkYmRkZjcxNTA3ODg2IiwibmFtZSI6IkdldCBCb29sZWFuQXJyYXkgVmFsdWUiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWRbMF0uaXRlbS52YWx1ZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4IjoxMDUwLCJ5IjoxMTAwLCJ3aXJlcyI6W1siZDcwOGU2MjY0Y2VjMDA3MCJdXX0seyJpZCI6IjA1MWUxZjI4MjA3NmZlZDIiLCJ0eXBlIjoic3dpdGNoIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsIm5hbWUiOiJlbXB0eSBjaGVjayIsInByb3BlcnR5IjoicGF5bG9hZCIsInByb3BlcnR5VHlwZSI6Im1zZyIsInJ1bGVzIjpbeyJ0IjoibmVtcHR5In1dLCJjaGVja2FsbCI6InRydWUiLCJyZXBhaXIiOmZhbHNlLCJvdXRwdXRzIjoxLCJ4Ijo4MzAsInkiOjExMDAsIndpcmVzIjpbWyI2ZTFlZGMzMTY4N2RkZTU0Il1dfSx7ImlkIjoiZGUyYTFjM2UzODBmNzQzYiIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsIm5hbWUiOiJEaXNjYXJkIEVtcHR5IERhdGFzZXRzIiwiaW5mbyI6IiIsIngiOjgyMCwieSI6OTgwLCJ3aXJlcyI6W119LHsiaWQiOiJjNzQ2MDZjNDhjY2Y1YTQwIiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiI1YWZkYmRkZjcxNTA3ODg2IiwibmFtZSI6IlBhcnNlIFN0YXRpY0RhdGEgVmFsdWVzIiwiaW5mbyI6IiIsIngiOjEwNzAsInkiOjk4MCwid2lyZXMiOltdfSx7ImlkIjoiMDUzYmRhMTNmMmEyZWFiZSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiNWFmZGJkZGY3MTUwNzg4NiIsIm5hbWUiOiJEaXNwbGF5IG9uIERhc2hib2FyZCIsImluZm8iOiIiLCJ4IjoxMzQwLCJ5Ijo5ODAsIndpcmVzIjpbXX0seyJpZCI6IjI3N2RjZjQzMGRjODY5OTYiLCJ0eXBlIjoidWktdGV4dCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJncm91cCI6IjNkNGYzODZlODEyZThiNWYiLCJvcmRlciI6MCwid2lkdGgiOjAsImhlaWdodCI6MCwibmFtZSI6IiIsImxhYmVsIjoiQnl0ZUFuYWxvZ0l0ZW1BcnJheSIsImZvcm1hdCI6Int7bXNnLnBheWxvYWR9fSIsImxheW91dCI6InJvdy1zcHJlYWQiLCJzdHlsZSI6ZmFsc2UsImZvbnQiOiIiLCJmb250U2l6ZSI6MTYsImNvbG9yIjoiIzcxNzE3MSIsImNsYXNzTmFtZSI6IiIsIngiOjEzNDAsInkiOjEwMjAsIndpcmVzIjpbXX0seyJpZCI6ImQ3MDhlNjI2NGNlYzAwNzAiLCJ0eXBlIjoidWktdGV4dCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjVhZmRiZGRmNzE1MDc4ODYiLCJncm91cCI6IjNkNGYzODZlODEyZThiNWYiLCJvcmRlciI6MCwid2lkdGgiOjAsImhlaWdodCI6MCwibmFtZSI6IiIsImxhYmVsIjoiQm9vbGVhbkFycmF5IiwiZm9ybWF0Ijoie3ttc2cucGF5bG9hZH19IiwibGF5b3V0Ijoicm93LXNwcmVhZCIsInN0eWxlIjpmYWxzZSwiZm9udCI6IiIsImZvbnRTaXplIjoxNiwiY29sb3IiOiIjNzE3MTcxIiwiY2xhc3NOYW1lIjoiIiwieCI6MTMyMCwieSI6MTEwMCwid2lyZXMiOltdfSx7ImlkIjoiM2Q0ZjM4NmU4MTJlOGI1ZiIsInR5cGUiOiJ1aS1ncm91cCIsIm5hbWUiOiJTdGF0aWNEYXRhIFZhbHVlcyIsInBhZ2UiOiI0NGQzZmViMmExMTQzZDdiIiwid2lkdGgiOiI0IiwiaGVpZ2h0IjoiMSIsIm9yZGVyIjozLCJzaG93VGl0bGUiOnRydWUsImNsYXNzTmFtZSI6IiIsInZpc2libGUiOiJ0cnVlIiwiZGlzYWJsZWQiOiJmYWxzZSJ9LHsiaWQiOiIyNWY5NTM5MTA4OGQ0YTA4IiwidHlwZSI6Imdyb3VwIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJuYW1lIjoiUmVhZCBNeURldmljZSBWYWx1ZXMgJiBEaXNwbGF5IG9uIERhc2hib2FyZCIsInN0eWxlIjp7ImxhYmVsIjp0cnVlLCJjb2xvciI6IiMwMDAwMDAifSwibm9kZXMiOlsiYmZlNDI3NDk2M2E4NGUyZSIsIjA2NjJjNjJjN2YwY2ZhYzAiLCIyNDljMjIzMTM5YzU3NzllIiwiZWZiMjkzZjEzYWYxN2RjMSIsIjUwN2QyYzExYzc1ODY5NTciLCIzYjc2OTVhNTJhMWJmNmUwIiwiNTk0ZWMzOGFjYWRjOTY3MyIsImQ0ZTI5MTViYTkyZGI4YTYiLCI4NTYxOWYwZWFiNjE1YWM3IiwiY2Q0OTQxYThkYjNlZGNiNiIsImFkOTFkMmNhODE2OTdmYzIiXSwieCI6OTQsInkiOjExNzksInciOjEyOTIsImgiOjE4Mn0seyJpZCI6ImJmZTQyNzQ5NjNhODRlMmUiLCJ0eXBlIjoiT3BjVWEtQnJvd3NlciIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjI1Zjk1MzkxMDg4ZDRhMDgiLCJlbmRwb2ludCI6IjUzZjQzOTRkYmYxMmM2YjciLCJpdGVtIjoiIiwiZGF0YXR5cGUiOiIiLCJ0b3BpYyI6IiIsIml0ZW1zIjpbXSwibmFtZSI6Ik9QQyBDbGllbnQgTmFtZXNwYWNlIEJyb3dzZSIsIngiOjU5MCwieSI6MTI4MCwid2lyZXMiOltbIjUwN2QyYzExYzc1ODY5NTciXV19LHsiaWQiOiIwNjYyYzYyYzdmMGNmYWMwIiwidHlwZSI6ImluamVjdCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjI1Zjk1MzkxMDg4ZDRhMDgiLCJuYW1lIjoiUmVhZCBNeURldmljZSBWYWx1ZXMgQCAxIHNlY29uZCIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9LHsicCI6InRvcGljIiwidiI6Ik9iamVjdHMuTXlPYmplY3RzLk15RGV2aWNlLm5vZGVJZCIsInZ0IjoiZmxvdyJ9XSwicmVwZWF0IjoiMSIsImNyb250YWIiOiIiLCJvbmNlIjp0cnVlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MjkwLCJ5IjoxMjgwLCJ3aXJlcyI6W1siYmZlNDI3NDk2M2E4NGUyZSJdXX0seyJpZCI6IjI0OWMyMjMxMzljNTc3OWUiLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjI1Zjk1MzkxMDg4ZDRhMDgiLCJuYW1lIjoiUmVhZCBNeURldmljZSIsImluZm8iOiIiLCJ4Ijo0ODAsInkiOjEyNDAsIndpcmVzIjpbXX0seyJpZCI6ImVmYjI5M2YxM2FmMTdkYzEiLCJ0eXBlIjoiY2hhbmdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiMjVmOTUzOTEwODhkNGEwOCIsIm5hbWUiOiJHZXQgTXlMZXZlbCBWYWx1ZSIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFswXS5pdGVtLnZhbHVlIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjEwMzAsInkiOjEyNjAsIndpcmVzIjpbWyJjZDQ5NDFhOGRiM2VkY2I2Il1dfSx7ImlkIjoiNTA3ZDJjMTFjNzU4Njk1NyIsInR5cGUiOiJzd2l0Y2giLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIyNWY5NTM5MTA4OGQ0YTA4IiwibmFtZSI6ImVtcHR5IGNoZWNrIiwicHJvcGVydHkiOiJwYXlsb2FkIiwicHJvcGVydHlUeXBlIjoibXNnIiwicnVsZXMiOlt7InQiOiJuZW1wdHkifV0sImNoZWNrYWxsIjoidHJ1ZSIsInJlcGFpciI6ZmFsc2UsIm91dHB1dHMiOjEsIngiOjgxMCwieSI6MTI4MCwid2lyZXMiOltbImVmYjI5M2YxM2FmMTdkYzEiLCIzYjc2OTVhNTJhMWJmNmUwIl1dfSx7ImlkIjoiM2I3Njk1YTUyYTFiZjZlMCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIyNWY5NTM5MTA4OGQ0YTA4IiwibmFtZSI6IkdldCBNeVN3aXRjaCBWYWx1ZSIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoicGF5bG9hZFs0XS5pdGVtLnZhbHVlIiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjEwNDAsInkiOjEzMjAsIndpcmVzIjpbWyJhZDkxZDJjYTgxNjk3ZmMyIl1dfSx7ImlkIjoiNTk0ZWMzOGFjYWRjOTY3MyIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiMjVmOTUzOTEwODhkNGEwOCIsIm5hbWUiOiJEaXNwbGF5IG9uIERhc2hib2FyZCIsImluZm8iOiIiLCJ4IjoxMjYwLCJ5IjoxMjIwLCJ3aXJlcyI6W119LHsiaWQiOiJkNGUyOTE1YmE5MmRiOGE2IiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIyNWY5NTM5MTA4OGQ0YTA4IiwibmFtZSI6IlBhcnNlIE15RGV2aWNlIFZhbHVlcyIsImluZm8iOiIiLCJ4IjoxMDQwLCJ5IjoxMjIwLCJ3aXJlcyI6W119LHsiaWQiOiI4NTYxOWYwZWFiNjE1YWM3IiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIyNWY5NTM5MTA4OGQ0YTA4IiwibmFtZSI6IkRpc2NhcmQgRW1wdHkgRGF0YXNldHMiLCJpbmZvIjoiIiwieCI6ODAwLCJ5IjoxMjQwLCJ3aXJlcyI6W119LHsiaWQiOiJjZDQ5NDFhOGRiM2VkY2I2IiwidHlwZSI6InVpLWdhdWdlIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiMjVmOTUzOTEwODhkNGEwOCIsIm5hbWUiOiJMZXZlbCIsImdyb3VwIjoiZWMwZWNiMjZmZGU4ZGIzZSIsIm9yZGVyIjowLCJ3aWR0aCI6MywiaGVpZ2h0IjozLCJndHlwZSI6ImdhdWdlLWhhbGYiLCJnc3R5bGUiOiJuZWVkbGUiLCJ0aXRsZSI6IkxldmVsIiwidW5pdHMiOiIlIiwiaWNvbiI6IiIsInByZWZpeCI6IiIsInN1ZmZpeCI6IiIsInNlZ21lbnRzIjpbeyJmcm9tIjoiMCIsImNvbG9yIjoiIzAwOTRjZSJ9LHsiZnJvbSI6IjI1IiwiY29sb3IiOiIjMDA5NGNlIn0seyJmcm9tIjoiNTAiLCJjb2xvciI6IiMwMDk0Y2UifSx7ImZyb20iOiIxMDAiLCJjb2xvciI6IiMwMDk0Y2UifV0sIm1pbiI6MCwibWF4IjoiMTAwIiwic2l6ZVRoaWNrbmVzcyI6MTYsInNpemVHYXAiOjQsInNpemVLZXlUaGlja25lc3MiOjgsInN0eWxlUm91bmRlZCI6dHJ1ZSwic3R5bGVHbG93IjpmYWxzZSwiY2xhc3NOYW1lIjoiIiwieCI6MTI1MCwieSI6MTI2MCwid2lyZXMiOltdfSx7ImlkIjoiYWQ5MWQyY2E4MTY5N2ZjMiIsInR5cGUiOiJ1aS1sZWQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIyNWY5NTM5MTA4OGQ0YTA4IiwibmFtZSI6IiIsImdyb3VwIjoiZWMwZWNiMjZmZGU4ZGIzZSIsIm9yZGVyIjotMSwid2lkdGgiOjAsImhlaWdodCI6MCwibGFiZWwiOiJTd2l0Y2giLCJsYWJlbFBsYWNlbWVudCI6ImxlZnQiLCJsYWJlbEFsaWdubWVudCI6ImZsZXgtc3RhcnQiLCJzdGF0ZXMiOlt7InZhbHVlIjoiZmFsc2UiLCJ2YWx1ZVR5cGUiOiJib29sIiwiY29sb3IiOiIjZmYwMDAwIn0seyJ2YWx1ZSI6InRydWUiLCJ2YWx1ZVR5cGUiOiJib29sIiwiY29sb3IiOiIjMDBmZjAwIn1dLCJhbGxvd0NvbG9yRm9yVmFsdWVJbk1lc3NhZ2UiOmZhbHNlLCJzaGFwZSI6ImNpcmNsZSIsInNob3dCb3JkZXIiOnRydWUsInNob3dHbG93Ijp0cnVlLCJ4IjoxMjUwLCJ5IjoxMzIwLCJ3aXJlcyI6W119LHsiaWQiOiJlYzBlY2IyNmZkZThkYjNlIiwidHlwZSI6InVpLWdyb3VwIiwibmFtZSI6Ik15RGV2aWNlIFN0YXR1cyAmIENvbnRyb2wiLCJwYWdlIjoiNDRkM2ZlYjJhMTE0M2Q3YiIsIndpZHRoIjoiMyIsImhlaWdodCI6IjEiLCJvcmRlciI6NCwic2hvd1RpdGxlIjp0cnVlLCJjbGFzc05hbWUiOiIiLCJ2aXNpYmxlIjoidHJ1ZSIsImRpc2FibGVkIjoiZmFsc2UifSx7ImlkIjoiM2RlNmM4NjE2MTFjM2FmYSIsInR5cGUiOiJncm91cCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwibmFtZSI6IldyaXRlIE15ZGV2aWNlcyB2YWx1ZXMgdG8gT1BDIFVBIFNlcnZlciIsInN0eWxlIjp7ImxhYmVsIjp0cnVlLCJjb2xvciI6IiMwMDAwMDAifSwibm9kZXMiOlsiYTY2NTgzZDkxYjU4MWNkOCIsIjNlOGNiNmUxOTkwMTIxNTUiLCI5ZmEzM2QxYzljNjIxNjExIiwiZmI3ZjU3YjRkYTU4ODNhZSIsIjljNWZmMTA0ZWI5YzhiMTAiLCI3N2JjYjgyOGJlYzk1MzM2IiwiYWZhODNkYmI0NjQ0OWQ0YSIsImZhMDhmMGVkMDQyOTYzNjMiLCI5ZjU5MTc5N2I1NmM1NjVkIl0sIngiOjk0LCJ5IjoxNDM5LCJ3Ijo3OTIsImgiOjE4Mn0seyJpZCI6ImE2NjU4M2Q5MWI1ODFjZDgiLCJ0eXBlIjoiT3BjVWEtSXRlbSIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjNkZTZjODYxNjExYzNhZmEiLCJpdGVtIjoibnM9NjtzPU15U3dpdGNoIiwiZGF0YXR5cGUiOiJCb29sZWFuIiwidmFsdWUiOiIiLCJuYW1lIjoiVG9nZ2xlIE15U3dpdGNoIiwieCI6NDcwLCJ5IjoxNTIwLCJ3aXJlcyI6W1siM2U4Y2I2ZTE5OTAxMjE1NSJdXX0seyJpZCI6IjNlOGNiNmUxOTkwMTIxNTUiLCJ0eXBlIjoiT3BjVWEtQ2xpZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiM2RlNmM4NjE2MTFjM2FmYSIsImVuZHBvaW50IjoiNTNmNDM5NGRiZjEyYzZiNyIsImFjdGlvbiI6IndyaXRlIiwiZGVhZGJhbmR0eXBlIjoiYSIsImRlYWRiYW5kdmFsdWUiOjEsInRpbWUiOjEwLCJ0aW1lVW5pdCI6InMiLCJjZXJ0aWZpY2F0ZSI6Im4iLCJsb2NhbGZpbGUiOiIiLCJsb2NhbGtleWZpbGUiOiIiLCJzZWN1cml0eW1vZGUiOiJOb25lIiwic2VjdXJpdHlwb2xpY3kiOiJOb25lIiwidXNlVHJhbnNwb3J0IjpmYWxzZSwibWF4Q2h1bmtDb3VudCI6MSwibWF4TWVzc2FnZVNpemUiOjgxOTIsInJlY2VpdmVCdWZmZXJTaXplIjo4MTkyLCJzZW5kQnVmZmVyU2l6ZSI6ODE5MiwibmFtZSI6IldyaXRlIE15U3dpdGNoIiwieCI6NzIwLCJ5IjoxNTIwLCJ3aXJlcyI6W1tdLFtdXX0seyJpZCI6IjlmYTMzZDFjOWM2MjE2MTEiLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6IjNkZTZjODYxNjExYzNhZmEiLCJuYW1lIjoiRGFzaGJvYXJkIElucHV0IiwiaW5mbyI6IiIsIngiOjIwMCwieSI6MTQ4MCwid2lyZXMiOltdfSx7ImlkIjoiZmI3ZjU3YjRkYTU4ODNhZSIsInR5cGUiOiJPcGNVYS1JdGVtIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiM2RlNmM4NjE2MTFjM2FmYSIsIml0ZW0iOiJucz02O3M9TXlMZXZlbCIsImRhdGF0eXBlIjoiRG91YmxlIiwidmFsdWUiOiIiLCJuYW1lIjoiTW9kaWZ5IE15TGV2ZWwiLCJ4Ijo0NjAsInkiOjE1ODAsIndpcmVzIjpbWyI5YzVmZjEwNGViOWM4YjEwIl1dfSx7ImlkIjoiOWM1ZmYxMDRlYjljOGIxMCIsInR5cGUiOiJPcGNVYS1DbGllbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIzZGU2Yzg2MTYxMWMzYWZhIiwiZW5kcG9pbnQiOiI1M2Y0Mzk0ZGJmMTJjNmI3IiwiYWN0aW9uIjoid3JpdGUiLCJkZWFkYmFuZHR5cGUiOiJhIiwiZGVhZGJhbmR2YWx1ZSI6MSwidGltZSI6MTAsInRpbWVVbml0IjoicyIsImNlcnRpZmljYXRlIjoibiIsImxvY2FsZmlsZSI6IiIsImxvY2Fsa2V5ZmlsZSI6IiIsInNlY3VyaXR5bW9kZSI6Ik5vbmUiLCJzZWN1cml0eXBvbGljeSI6Ik5vbmUiLCJ1c2VUcmFuc3BvcnQiOmZhbHNlLCJtYXhDaHVua0NvdW50IjoxLCJtYXhNZXNzYWdlU2l6ZSI6ODE5MiwicmVjZWl2ZUJ1ZmZlclNpemUiOjgxOTIsInNlbmRCdWZmZXJTaXplIjo4MTkyLCJuYW1lIjoiV3JpdGUgTXlMZXZlbCIsIngiOjcyMCwieSI6MTU4MCwid2lyZXMiOltbXSxbXV19LHsiaWQiOiI3N2JjYjgyOGJlYzk1MzM2IiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIzZGU2Yzg2MTYxMWMzYWZhIiwibmFtZSI6IkNhbGwgT1BDIFVBIEl0ZW0iLCJpbmZvIjoiIiwieCI6NDcwLCJ5IjoxNDgwLCJ3aXJlcyI6W119LHsiaWQiOiJhZmE4M2RiYjQ2NDQ5ZDRhIiwidHlwZSI6ImNvbW1lbnQiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiIzZGU2Yzg2MTYxMWMzYWZhIiwibmFtZSI6IldyaXRlIE9QQyBVQSBJdGVtIHRvIENsaWVudCIsImluZm8iOiIiLCJ4Ijo3NDAsInkiOjE0ODAsIndpcmVzIjpbXX0seyJpZCI6ImZhMDhmMGVkMDQyOTYzNjMiLCJ0eXBlIjoidWktc3dpdGNoIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiM2RlNmM4NjE2MTFjM2FmYSIsIm5hbWUiOiIiLCJsYWJlbCI6IlRvZ2dsZSBNeVN3aXRjaCIsImdyb3VwIjoiZWMwZWNiMjZmZGU4ZGIzZSIsIm9yZGVyIjowLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJwYXNzdGhydSI6ZmFsc2UsInRvcGljIjoidG9waWMiLCJ0b3BpY1R5cGUiOiJtc2ciLCJzdHlsZSI6IiIsImNsYXNzTmFtZSI6IiIsIm9udmFsdWUiOiJ0cnVlIiwib252YWx1ZVR5cGUiOiJib29sIiwib25pY29uIjoiIiwib25jb2xvciI6IiIsIm9mZnZhbHVlIjoiZmFsc2UiLCJvZmZ2YWx1ZVR5cGUiOiJib29sIiwib2ZmaWNvbiI6IiIsIm9mZmNvbG9yIjoiIiwieCI6MjEwLCJ5IjoxNTIwLCJ3aXJlcyI6W1siYTY2NTgzZDkxYjU4MWNkOCJdXX0seyJpZCI6IjlmNTkxNzk3YjU2YzU2NWQiLCJ0eXBlIjoidWktc2xpZGVyIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiM2RlNmM4NjE2MTFjM2FmYSIsImdyb3VwIjoiZWMwZWNiMjZmZGU4ZGIzZSIsIm5hbWUiOiIiLCJsYWJlbCI6Ik1vZGlmeSBNeUxldmVsIiwidG9vbHRpcCI6IiIsIm9yZGVyIjowLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJwYXNzdGhydSI6ZmFsc2UsIm91dHMiOiJhbGwiLCJ0b3BpYyI6InRvcGljIiwidG9waWNUeXBlIjoibXNnIiwidGh1bWJMYWJlbCI6dHJ1ZSwibWluIjoiMCIsIm1heCI6IjEwMCIsInN0ZXAiOjEsImNsYXNzTmFtZSI6IiIsIngiOjIwMCwieSI6MTU4MCwid2lyZXMiOltbImZiN2Y1N2I0ZGE1ODgzYWUiXV19LHsiaWQiOiJhNmU5YWJhY2QwYmRmM2I2IiwidHlwZSI6Imdyb3VwIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJuYW1lIjoiUmVhZCBBbGFybXMgJiBFdmVudHMgRnJvbSBPUEMgVUEgU2VydmVyIiwic3R5bGUiOnsibGFiZWwiOnRydWUsImNvbG9yIjoiIzAwMDAwMCJ9LCJub2RlcyI6WyI5MGZiNGNhNjRhNjQyZWRmIiwiYjc2ZjY0Nzg2YmM2ODFjMyIsIjcxZTI0YjY3MWJjMDNmYjgiLCJjNzQzOGRmMzViNTA2NDcwIiwiYzdlODkxOWI2MzZjYjUxZCIsIjU5NTJiODZkYWUyMmIwNTYiLCIwNDk5MmIyNGEzODM2ZjE5IiwiMzI1MDY4Y2I5MzVjZDZkMSIsIjViNGQxYmQ4YjM0MmZjMDUiLCJiYTFlYTg5NDM4MzM1Y2I4IiwiZDY2MmQ2NjJjNWNjYjljMSIsIjFlMzk1NjIwMDk5NzU4MWYiLCIwYjhhYzg2ZTVlNGY5ZjhkIiwiNjJiMmUxNGNlMDQyOWVlZiJdLCJ4Ijo5NCwieSI6MTY3OSwidyI6MTM1MiwiaCI6MjgyfSx7ImlkIjoiOTBmYjRjYTY0YTY0MmVkZiIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsIm5hbWUiOiJDYWxsIE9QQyBVQSBJdGVtIiwiaW5mbyI6IiIsIngiOjQ3MCwieSI6MTgyMCwid2lyZXMiOltdfSx7ImlkIjoiYjc2ZjY0Nzg2YmM2ODFjMyIsInR5cGUiOiJPcGNVYS1FdmVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImE2ZTlhYmFjZDBiZGYzYjYiLCJyb290IjoibnM9NjtzPU15TGV2ZWwuQWxhcm0iLCJhY3RpdmF0ZWN1c3RvbWV2ZW50IjpmYWxzZSwiZXZlbnR0eXBlIjoiaT0yMDQxIiwiY3VzdG9tZXZlbnR0eXBlIjoiIiwibmFtZSI6Ik15TGV2ZWwgQWxhcm1zIiwieCI6NTAwLCJ5IjoxODYwLCJ3aXJlcyI6W1siYzc0MzhkZjM1YjUwNjQ3MCJdXX0seyJpZCI6IjcxZTI0YjY3MWJjMDNmYjgiLCJ0eXBlIjoiaW5qZWN0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsIm5hbWUiOiJUcmlnZ2VyIEFsYXJtIEV2ZW50IENhcHR1cmUiLCJwcm9wcyI6W3sicCI6InBheWxvYWQifSx7InAiOiJ0b3BpYyIsInZ0Ijoic3RyIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6dHJ1ZSwib25jZURlbGF5IjowLjEsInRvcGljIjoiIiwicGF5bG9hZCI6IiIsInBheWxvYWRUeXBlIjoiZGF0ZSIsIngiOjI2MCwieSI6MTg2MCwid2lyZXMiOltbImI3NmY2NDc4NmJjNjgxYzMiXV19LHsiaWQiOiJjNzQzOGRmMzViNTA2NDcwIiwidHlwZSI6Ik9wY1VhLUNsaWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImE2ZTlhYmFjZDBiZGYzYjYiLCJlbmRwb2ludCI6IjUzZjQzOTRkYmYxMmM2YjciLCJhY3Rpb24iOiJldmVudHMiLCJkZWFkYmFuZHR5cGUiOiJhIiwiZGVhZGJhbmR2YWx1ZSI6MSwidGltZSI6MTAsInRpbWVVbml0IjoicyIsImNlcnRpZmljYXRlIjoibiIsImxvY2FsZmlsZSI6IiIsImxvY2Fsa2V5ZmlsZSI6IiIsInNlY3VyaXR5bW9kZSI6Ik5vbmUiLCJzZWN1cml0eXBvbGljeSI6Ik5vbmUiLCJ1c2VUcmFuc3BvcnQiOmZhbHNlLCJtYXhDaHVua0NvdW50IjoxLCJtYXhNZXNzYWdlU2l6ZSI6ODE5MiwicmVjZWl2ZUJ1ZmZlclNpemUiOjgxOTIsInNlbmRCdWZmZXJTaXplIjo4MTkyLCJuYW1lIjoiR2V0IE15TGV2ZWwgRXZlbnRzIiwieCI6NzIwLCJ5IjoxODYwLCJ3aXJlcyI6W1siYzdlODkxOWI2MzZjYjUxZCIsIjU5NTJiODZkYWUyMmIwNTYiLCIwNDk5MmIyNGEzODM2ZjE5Il0sW11dfSx7ImlkIjoiYzdlODkxOWI2MzZjYjUxZCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJhNmU5YWJhY2QwYmRmM2I2IiwibmFtZSI6IkV2ZW50IFRleHQiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWQuTWVzc2FnZS50ZXh0IiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjk5MCwieSI6MTgwMCwid2lyZXMiOltbImQ2NjJkNjYyYzVjY2I5YzEiLCIxZTM5NTYyMDA5OTc1ODFmIl1dfSx7ImlkIjoiNTk1MmI4NmRhZTIyYjA1NiIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJhNmU5YWJhY2QwYmRmM2I2IiwibmFtZSI6IkV2ZW50IFRpbWUiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6InBheWxvYWQuVGltZSIsInRvdCI6Im1zZyJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo5OTAsInkiOjE4NjAsIndpcmVzIjpbWyIwYjhhYzg2ZTVlNGY5ZjhkIl1dfSx7ImlkIjoiMDQ5OTJiMjRhMzgzNmYxOSIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiNWI5NzIxNjFjNGUwNDY0ZSIsImciOiJhNmU5YWJhY2QwYmRmM2I2IiwibmFtZSI6IkV2ZW50IFNldmVyaXR5IiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJwYXlsb2FkLlNldmVyaXR5IiwidG90IjoibXNnIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjEwMDAsInkiOjE5MjAsIndpcmVzIjpbWyI2MmIyZTE0Y2UwNDI5ZWVmIl1dfSx7ImlkIjoiMzI1MDY4Y2I5MzVjZDZkMSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsIm5hbWUiOiJQYXJzZSBFdmVudCBEYXRhc2V0IiwiaW5mbyI6IiIsIngiOjk5MCwieSI6MTc2MCwid2lyZXMiOltdfSx7ImlkIjoiNWI0ZDFiZDhiMzQyZmMwNSIsInR5cGUiOiJjb21tZW50IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsIm5hbWUiOiJHZXQgT1BDIEV2ZW50cyBmcm9tIENsaWVudCIsImluZm8iOiIiLCJ4Ijo3MjAsInkiOjE4MjAsIndpcmVzIjpbXX0seyJpZCI6ImJhMWVhODk0MzgzMzVjYjgiLCJ0eXBlIjoiY29tbWVudCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImE2ZTlhYmFjZDBiZGYzYjYiLCJuYW1lIjoiRGlzcGxheSBFdmVudHMgb24gRGFzaGJvYXJkIiwiaW5mbyI6IiIsIngiOjEyNDAsInkiOjE3MjAsIndpcmVzIjpbXX0seyJpZCI6ImQ2NjJkNjYyYzVjY2I5YzEiLCJ0eXBlIjoidWktbm90aWZpY2F0aW9uIiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsInVpIjoiNTM1NWUwYzQ3NmY5ZGEzYiIsInBvc2l0aW9uIjoiY2VudGVyIGNlbnRlciIsImNvbG9yRGVmYXVsdCI6dHJ1ZSwiY29sb3IiOiIjMDAwMDAwIiwiZGlzcGxheVRpbWUiOiIzIiwic2hvd0NvdW50ZG93biI6dHJ1ZSwib3V0cHV0cyI6MSwiYWxsb3dEaXNtaXNzIjp0cnVlLCJkaXNtaXNzVGV4dCI6IkNsb3NlIiwicmF3IjpmYWxzZSwiY2xhc3NOYW1lIjoiIiwibmFtZSI6IkV2ZW50IE5vdGlmaWNhdGlvbiIsIngiOjEyMzAsInkiOjE4MDAsIndpcmVzIjpbW11dfSx7ImlkIjoiMWUzOTU2MjAwOTk3NTgxZiIsInR5cGUiOiJ1aS10ZXh0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsImdyb3VwIjoiZWMwZWNiMjZmZGU4ZGIzZSIsIm9yZGVyIjowLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJuYW1lIjoiIiwibGFiZWwiOiJMYXRlc3QgTXlMZXZlbCBFdmVudCIsImZvcm1hdCI6Int7bXNnLnBheWxvYWR9fSIsImxheW91dCI6InJvdy1zcHJlYWQiLCJzdHlsZSI6ZmFsc2UsImZvbnQiOiIiLCJmb250U2l6ZSI6MTYsImNvbG9yIjoiIzcxNzE3MSIsImNsYXNzTmFtZSI6IiIsIngiOjEyNDAsInkiOjE4NDAsIndpcmVzIjpbXX0seyJpZCI6IjBiOGFjODZlNWU0ZjlmOGQiLCJ0eXBlIjoidWktdGV4dCIsInoiOiI1Yjk3MjE2MWM0ZTA0NjRlIiwiZyI6ImE2ZTlhYmFjZDBiZGYzYjYiLCJncm91cCI6ImVjMGVjYjI2ZmRlOGRiM2UiLCJvcmRlciI6MCwid2lkdGgiOjAsImhlaWdodCI6MCwibmFtZSI6IiIsImxhYmVsIjoiTGF0ZXN0IE15TGV2ZWwgRXZlbnQgVGltZXN0YW1wIiwiZm9ybWF0Ijoie3ttc2cucGF5bG9hZH19IiwibGF5b3V0Ijoicm93LXNwcmVhZCIsInN0eWxlIjpmYWxzZSwiZm9udCI6IiIsImZvbnRTaXplIjoxNiwiY29sb3IiOiIjNzE3MTcxIiwiY2xhc3NOYW1lIjoiIiwieCI6MTI4MCwieSI6MTg4MCwid2lyZXMiOltdfSx7ImlkIjoiNjJiMmUxNGNlMDQyOWVlZiIsInR5cGUiOiJ1aS10ZXh0IiwieiI6IjViOTcyMTYxYzRlMDQ2NGUiLCJnIjoiYTZlOWFiYWNkMGJkZjNiNiIsImdyb3VwIjoiZWMwZWNiMjZmZGU4ZGIzZSIsIm9yZGVyIjowLCJ3aWR0aCI6MCwiaGVpZ2h0IjowLCJuYW1lIjoiIiwibGFiZWwiOiJMYXRlc3QgTXlMZXZlbCBFdmVudCBTZXZlcml0eSIsImZvcm1hdCI6Int7bXNnLnBheWxvYWR9fSIsImxheW91dCI6InJvdy1zcHJlYWQiLCJzdHlsZSI6ZmFsc2UsImZvbnQiOiIiLCJmb250U2l6ZSI6MTYsImNvbG9yIjoiIzcxNzE3MSIsImNsYXNzTmFtZSI6IiIsIngiOjEyNzAsInkiOjE5MjAsIndpcmVzIjpbXX1d",{"title":112,"searchDepth":733,"depth":733,"links":734},2,[735,736,737,738,739,740,741,742,743],{"id":40,"depth":733,"text":41},{"id":88,"depth":733,"text":89},{"id":144,"depth":733,"text":145},{"id":169,"depth":733,"text":170},{"id":342,"depth":733,"text":343},{"id":493,"depth":733,"text":494},{"id":594,"depth":733,"text":595},{"id":690,"depth":733,"text":691},{"id":718,"depth":733,"text":719},"This article is the third and final part of our OPC UA content series. In the first article, we cover some OPC UA fundamentals and walk through an example OPC UA Server flow. In the second article, we built a SSL-secured OPC UA server using data from an Allen Bradley PLC as a source.\nIn this article, we show how to build an OPC Client in Node-RED that communicates with a 3rd party OPC UA Server and utilizes an interactive dashboard.","md",{"navTitle":5,"excerpt":747},{"type":7,"value":748},[749],[10,750,12,751,18,753,23],{},[14,752,17],{"href":16},[14,754,22],{"href":21},true,"\u002Fblog\u002F2023\u002F07\u002Fhow-to-build-a-opc-client-dashboard-in-node-red",{"title":5,"description":744},"blog\u002F2023\u002F07\u002Fhow-to-build-a-opc-client-dashboard-in-node-red","bKnJgU1A23ch399BH45Ws968s4VybZAZ_3EVCbWIFvs",1780132425707]