diff --git a/search-index.json b/search-index.json index 11c5753d..e763ebe6 100644 --- a/search-index.json +++ b/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":1,"t":"","u":"/python-sdk/blog/archive","b":["Blog"]},{"i":2,"t":"Tales from the Binomial Tail: Confidence intervals for balanced accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","b":["Blog"]},{"i":32,"t":"The Grime Guardian: Building Stateful Multi-camera applications with Groundlight","u":"/python-sdk/blog/grime-guardian","b":["Blog"]},{"i":50,"t":"","u":"/python-sdk/docs/api-reference","b":["Docs"]},{"i":51,"t":"Building Applications","u":"/python-sdk/docs/building-applications","b":["Docs","Building Applications"]},{"i":57,"t":"Using Groundlight on the Edge","u":"/python-sdk/docs/building-applications/edge","b":["Docs","Building Applications"]},{"i":63,"t":"Asynchronous Queries","u":"/python-sdk/docs/building-applications/async-queries","b":["Docs","Building Applications"]},{"i":71,"t":"Grabbing Images","u":"/python-sdk/docs/building-applications/grabbing-images","b":["Docs","Building Applications"]},{"i":83,"t":"Handling Server Errors","u":"/python-sdk/docs/building-applications/handling-errors","b":["Docs","Building Applications"]},{"i":101,"t":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/building-applications/industrial","b":["Docs","Building Applications"]},{"i":113,"t":"Confidence Levels","u":"/python-sdk/docs/building-applications/managing-confidence","b":["Docs","Building Applications"]},{"i":115,"t":"Working with Detectors","u":"/python-sdk/docs/building-applications/working-with-detectors","b":["Docs","Building Applications"]},{"i":128,"t":"Getting Started","u":"/python-sdk/docs/getting-started","b":["Docs","Getting Started"]},{"i":137,"t":"A Serious Example: Retail Analytics","u":"/python-sdk/docs/getting-started/retail-analytics","b":["Docs","Getting Started"]},{"i":146,"t":"A Fun Example: Dog-on-Couch Detector","u":"/python-sdk/docs/getting-started/dog-on-couch","b":["Docs","Getting Started"]},{"i":154,"t":"Writing Queries","u":"/python-sdk/docs/getting-started/writing-queries","b":["Docs","Getting Started"]},{"i":170,"t":"API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","b":["Docs","Getting Started"]},{"i":185,"t":"Sample Applications","u":"/python-sdk/docs/building-applications/sample-applications","b":["Docs","Building Applications"]},{"i":195,"t":"Installation","u":"/python-sdk/docs/installation","b":["Docs","Installation"]},{"i":199,"t":"Installing on Linux","u":"/python-sdk/docs/installation/linux","b":["Docs","Installation"]},{"i":219,"t":"Installing on macOS","u":"/python-sdk/docs/installation/macos","b":["Docs","Installation"]},{"i":237,"t":"Optional libraries","u":"/python-sdk/docs/installation/optional-libraries","b":["Docs","Installation"]},{"i":246,"t":"A Quick Example: Live Stream Alert","u":"/python-sdk/docs/getting-started/streaming","b":["Docs","Getting Started"]},{"i":254,"t":"Installing on Raspberry Pi","u":"/python-sdk/docs/installation/raspberry-pi","b":["Docs","Installation"]},{"i":268,"t":"Installing on NVIDIA Jetson","u":"/python-sdk/docs/installation/nvidia-jetson","b":["Docs","Installation"]},{"i":282,"t":"Installing on Windows","u":"/python-sdk/docs/installation/windows","b":["Docs","Installation"]},{"i":300,"t":"No-Code IoT Deployment","u":"/python-sdk/docs/iot","b":["Docs"]},{"i":310,"t":"Monitoring Notification Server","u":"/python-sdk/docs/installation/monitoring-notification-server","b":["Docs","Installation"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[]],["t/2",[0,1.815,1,1.815,2,1.815,3,1.502,4,1.815,5,1.815,6,1.815]],["t/32",[7,1.663,8,1.663,9,1.376,10,1.663,11,1.663,12,1.663,13,1.046,14,1.376]],["t/50",[]],["t/51",[9,2.759,13,2.097]],["t/57",[14,2.363,15,2.856,16,2.856]],["t/63",[17,3.334,18,2.759]],["t/71",[19,3.334,20,3.334]],["t/83",[21,2.856,22,2.363,23,2.856]],["t/101",[13,1.796,24,2.856,25,2.856]],["t/113",[3,2.759,26,3.334]],["t/115",[27,3.334,28,3.334]],["t/128",[29,3.334,30,3.334]],["t/137",[31,2.497,32,1.783,33,2.497,34,2.497]],["t/146",[32,1.584,35,2.219,36,2.219,37,2.219,38,2.219]],["t/154",[18,2.759,39,3.334]],["t/170",[40,3.334,41,3.334]],["t/185",[13,2.097,42,3.334]],["t/195",[43,4.004]],["t/199",[44,1.871,45,3.334]],["t/219",[44,1.871,46,3.334]],["t/237",[47,3.334,48,3.334]],["t/246",[32,1.584,49,2.219,50,2.219,51,2.219,52,2.219]],["t/254",[44,1.603,53,2.856,54,2.856]],["t/268",[44,1.603,55,2.856,56,2.856]],["t/282",[44,1.871,57,3.334]],["t/300",[58,2.856,59,2.856,60,2.856]],["t/310",[22,2.363,61,2.856,62,2.856]]],"invertedIndex":[["accuracy",{"_index":6,"t":{"2":{"position":[[64,8]]}}}],["alert",{"_index":52,"t":{"246":{"position":[[29,5]]}}}],["analytics",{"_index":34,"t":{"137":{"position":[[26,9]]}}}],["api",{"_index":40,"t":{"170":{"position":[[0,3]]}}}],["applications",{"_index":13,"t":{"32":{"position":[[51,12]]},"51":{"position":[[9,12]]},"101":{"position":[[29,12]]},"185":{"position":[[7,12]]}}}],["asynchronous",{"_index":17,"t":{"63":{"position":[[0,12]]}}}],["balanced",{"_index":5,"t":{"2":{"position":[[55,8]]}}}],["binomial",{"_index":1,"t":{"2":{"position":[[15,8]]}}}],["building",{"_index":9,"t":{"32":{"position":[[20,8]]},"51":{"position":[[0,8]]}}}],["camera",{"_index":12,"t":{"32":{"position":[[44,6]]}}}],["code",{"_index":58,"t":{"300":{"position":[[3,4]]}}}],["confidence",{"_index":3,"t":{"2":{"position":[[30,10]]},"113":{"position":[[0,10]]}}}],["couch",{"_index":37,"t":{"146":{"position":[[22,5]]}}}],["deployment",{"_index":60,"t":{"300":{"position":[[12,10]]}}}],["detector",{"_index":38,"t":{"146":{"position":[[28,8]]}}}],["detectors",{"_index":28,"t":{"115":{"position":[[13,9]]}}}],["dog",{"_index":36,"t":{"146":{"position":[[15,3]]}}}],["edge",{"_index":16,"t":{"57":{"position":[[25,4]]}}}],["errors",{"_index":23,"t":{"83":{"position":[[16,6]]}}}],["example",{"_index":32,"t":{"137":{"position":[[10,8]]},"146":{"position":[[6,8]]},"246":{"position":[[8,8]]}}}],["fun",{"_index":35,"t":{"146":{"position":[[2,3]]}}}],["getting",{"_index":29,"t":{"128":{"position":[[0,7]]}}}],["grabbing",{"_index":19,"t":{"71":{"position":[[0,8]]}}}],["grime",{"_index":7,"t":{"32":{"position":[[4,5]]}}}],["groundlight",{"_index":14,"t":{"32":{"position":[[69,11]]},"57":{"position":[[6,11]]}}}],["guardian",{"_index":8,"t":{"32":{"position":[[10,9]]}}}],["handling",{"_index":21,"t":{"83":{"position":[[0,8]]}}}],["images",{"_index":20,"t":{"71":{"position":[[9,6]]}}}],["industrial",{"_index":24,"t":{"101":{"position":[[0,10]]}}}],["installation",{"_index":43,"t":{"195":{"position":[[0,12]]}}}],["installing",{"_index":44,"t":{"199":{"position":[[0,10]]},"219":{"position":[[0,10]]},"254":{"position":[[0,10]]},"268":{"position":[[0,10]]},"282":{"position":[[0,10]]}}}],["intervals",{"_index":4,"t":{"2":{"position":[[41,9]]}}}],["iot",{"_index":59,"t":{"300":{"position":[[8,3]]}}}],["jetson",{"_index":56,"t":{"268":{"position":[[21,6]]}}}],["levels",{"_index":26,"t":{"113":{"position":[[11,6]]}}}],["libraries",{"_index":48,"t":{"237":{"position":[[9,9]]}}}],["linux",{"_index":45,"t":{"199":{"position":[[14,5]]}}}],["live",{"_index":50,"t":{"246":{"position":[[17,4]]}}}],["macos",{"_index":46,"t":{"219":{"position":[[14,5]]}}}],["manufacturing",{"_index":25,"t":{"101":{"position":[[15,13]]}}}],["monitoring",{"_index":61,"t":{"310":{"position":[[0,10]]}}}],["multi",{"_index":11,"t":{"32":{"position":[[38,5]]}}}],["notification",{"_index":62,"t":{"310":{"position":[[11,12]]}}}],["nvidia",{"_index":55,"t":{"268":{"position":[[14,6]]}}}],["optional",{"_index":47,"t":{"237":{"position":[[0,8]]}}}],["pi",{"_index":54,"t":{"254":{"position":[[24,2]]}}}],["queries",{"_index":18,"t":{"63":{"position":[[13,7]]},"154":{"position":[[8,7]]}}}],["quick",{"_index":49,"t":{"246":{"position":[[2,5]]}}}],["raspberry",{"_index":53,"t":{"254":{"position":[[14,9]]}}}],["retail",{"_index":33,"t":{"137":{"position":[[19,6]]}}}],["sample",{"_index":42,"t":{"185":{"position":[[0,6]]}}}],["serious",{"_index":31,"t":{"137":{"position":[[2,7]]}}}],["server",{"_index":22,"t":{"83":{"position":[[9,6]]},"310":{"position":[[24,6]]}}}],["started",{"_index":30,"t":{"128":{"position":[[8,7]]}}}],["stateful",{"_index":10,"t":{"32":{"position":[[29,8]]}}}],["stream",{"_index":51,"t":{"246":{"position":[[22,6]]}}}],["tail",{"_index":2,"t":{"2":{"position":[[24,5]]}}}],["tales",{"_index":0,"t":{"2":{"position":[[0,5]]}}}],["tokens",{"_index":41,"t":{"170":{"position":[[4,6]]}}}],["using",{"_index":15,"t":{"57":{"position":[[0,5]]}}}],["windows",{"_index":57,"t":{"282":{"position":[[14,7]]}}}],["working",{"_index":27,"t":{"115":{"position":[[0,7]]}}}],["writing",{"_index":39,"t":{"154":{"position":[[0,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":4,"t":"Background","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#background","p":2},{"i":6,"t":"Test Set Accuracy and Coin Flips","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#test-set-accuracy-and-coin-flips","p":2},{"i":8,"t":"Upper Bounding the True Accuracy from Test Set Performance","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#upper-bounding-the-true-accuracy-from-test-set-performance","p":2},{"i":10,"t":"Constructing a 95% Upper Confidence Bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-a-95-upper-confidence-bound","p":2},{"i":12,"t":"Exact Upper Confidence Bounds based on the Binomial CDF","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#exact-upper-confidence-bounds-based-on-the-binomial-cdf","p":2},{"i":14,"t":"Lower Confidence Bounds","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#lower-confidence-bounds","p":2},{"i":16,"t":"Central Confidence Intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#central-confidence-intervals","p":2},{"i":18,"t":"Confidence Bounds for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#confidence-bounds-for-balanced-accuracy","p":2},{"i":20,"t":"Constructing the Bound for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-the-bound-for-balanced-accuracy","p":2},{"i":22,"t":"Comparison with intervals based on the Normal approximation","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#comparison-with-intervals-based-on-the-normal-approximation","p":2},{"i":24,"t":"Conclusion","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#conclusion","p":2},{"i":26,"t":"References","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#references","p":2},{"i":28,"t":"Appendix A - the union bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-a---the-union-bound","p":2},{"i":30,"t":"Appendix B - interpretation of confidence intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-b---interpretation-of-confidence-intervals","p":2},{"i":34,"t":"Groundlight has a Problem","u":"/python-sdk/blog/grime-guardian","h":"#groundlight-has-a-problem","p":32},{"i":36,"t":"Overview of the Application - The Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#overview-of-the-application---the-grime-guardian","p":32},{"i":38,"t":"Architecture of a Sophisticated Groundlight Application","u":"/python-sdk/blog/grime-guardian","h":"#architecture-of-a-sophisticated-groundlight-application","p":32},{"i":40,"t":"Microservice-like Architecture","u":"/python-sdk/blog/grime-guardian","h":"#microservice-like-architecture","p":32},{"i":42,"t":"State Management and Notification Logic","u":"/python-sdk/blog/grime-guardian","h":"#state-management-and-notification-logic","p":32},{"i":44,"t":"Discord Bot Notifications","u":"/python-sdk/blog/grime-guardian","h":"#discord-bot-notifications","p":32},{"i":46,"t":"Future Improvements and Enhancements","u":"/python-sdk/blog/grime-guardian","h":"#future-improvements-and-enhancements","p":32},{"i":48,"t":"Build Your Own Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#build-your-own-grime-guardian","p":32},{"i":53,"t":"Sample Applications","u":"/python-sdk/docs/building-applications","h":"#sample-applications","p":51},{"i":55,"t":"Further Reading","u":"/python-sdk/docs/building-applications","h":"#further-reading","p":51},{"i":59,"t":"How the Edge Endpoint works","u":"/python-sdk/docs/building-applications/edge","h":"#how-the-edge-endpoint-works","p":57},{"i":61,"t":"Configuring the Edge Endpoint","u":"/python-sdk/docs/building-applications/edge","h":"#configuring-the-edge-endpoint","p":57},{"i":65,"t":"Setup Submitting Machine","u":"/python-sdk/docs/building-applications/async-queries","h":"#setup-submitting-machine","p":63},{"i":67,"t":"Setup Retrieving Machine","u":"/python-sdk/docs/building-applications/async-queries","h":"#setup-retrieving-machine","p":63},{"i":69,"t":"Important Considerations","u":"/python-sdk/docs/building-applications/async-queries","h":"#important-considerations","p":63},{"i":73,"t":"PIL","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#pil","p":71},{"i":75,"t":"OpenCV","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#opencv","p":71},{"i":77,"t":"Numpy","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#numpy","p":71},{"i":79,"t":"Channel order: BGR vs RGB","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#channel-order-bgr-vs-rgb","p":71},{"i":81,"t":"Framegrab","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#framegrab","p":71},{"i":85,"t":"Handling ApiException","u":"/python-sdk/docs/building-applications/handling-errors","h":"#handling-apiexception","p":83},{"i":87,"t":"Best Practices for Handling Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#best-practices-for-handling-exceptions","p":83},{"i":89,"t":"Catch Specific Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#catch-specific-exceptions","p":83},{"i":91,"t":"Use Custom Exception Classes","u":"/python-sdk/docs/building-applications/handling-errors","h":"#use-custom-exception-classes","p":83},{"i":93,"t":"Log Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#log-exceptions","p":83},{"i":95,"t":"Implement Retry Logic","u":"/python-sdk/docs/building-applications/handling-errors","h":"#implement-retry-logic","p":83},{"i":97,"t":"Handle Exceptions Gracefully","u":"/python-sdk/docs/building-applications/handling-errors","h":"#handle-exceptions-gracefully","p":83},{"i":99,"t":"Test Your Error Handling","u":"/python-sdk/docs/building-applications/handling-errors","h":"#test-your-error-handling","p":83},{"i":103,"t":"Machine Tending","u":"/python-sdk/docs/building-applications/industrial","h":"#machine-tending","p":101},{"i":105,"t":"Process Automation","u":"/python-sdk/docs/building-applications/industrial","h":"#process-automation","p":101},{"i":107,"t":"Quality Control","u":"/python-sdk/docs/building-applications/industrial","h":"#quality-control","p":101},{"i":109,"t":"Integration with Cobots and CNC Machines","u":"/python-sdk/docs/building-applications/industrial","h":"#integration-with-cobots-and-cnc-machines","p":101},{"i":111,"t":"Contact Sales","u":"/python-sdk/docs/building-applications/industrial","h":"","p":101},{"i":116,"t":"Explicitly create a new detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#explicitly-create-a-new-detector","p":115},{"i":118,"t":"Retrieve an existing detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-existing-detector","p":115},{"i":120,"t":"List your detectors","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#list-your-detectors","p":115},{"i":122,"t":"Retrieve an image query","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-image-query","p":115},{"i":124,"t":"List your previous image queries","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#list-your-previous-image-queries","p":115},{"i":126,"t":"Adding labels to existing image queries","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#adding-labels-to-existing-image-queries","p":115},{"i":129,"t":"Computer Vision powered by Natural Language","u":"/python-sdk/docs/getting-started","h":"#computer-vision-powered-by-natural-language","p":128},{"i":131,"t":"How does it work?","u":"/python-sdk/docs/getting-started","h":"#how-does-it-work","p":128},{"i":133,"t":"Escalation Technology","u":"/python-sdk/docs/getting-started","h":"#escalation-technology","p":128},{"i":135,"t":"Building a simple visual application","u":"/python-sdk/docs/getting-started","h":"#building-a-simple-visual-application","p":128},{"i":138,"t":"Tracking utilization of a customer service counter","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#tracking-utilization-of-a-customer-service-counter","p":137},{"i":140,"t":"Requirements","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#requirements","p":137},{"i":142,"t":"Installation","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#installation","p":137},{"i":144,"t":"Creating the Application","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#creating-the-application","p":137},{"i":148,"t":"Requirements","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#requirements","p":146},{"i":150,"t":"Installation","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#installation","p":146},{"i":152,"t":"Creating the Application","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#creating-the-application","p":146},{"i":155,"t":"Introduction","u":"/python-sdk/docs/getting-started/writing-queries","h":"#introduction","p":154},{"i":157,"t":"Examples","u":"/python-sdk/docs/getting-started/writing-queries","h":"#examples","p":154},{"i":158,"t":"✅ Are there any cardboard boxes on the conveyor belt?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-are-there-any-cardboard-boxes-on-the-conveyor-belt","p":154},{"i":160,"t":"🟡 Is the trash can full?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-trash-can-full","p":154},{"i":162,"t":"✅ Is the garage door completely closed?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-garage-door-completely-closed","p":154},{"i":164,"t":"🟡 Is the weather nice out?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-weather-nice-out","p":154},{"i":166,"t":"❌ Where is the thing?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-where-is-the-thing","p":154},{"i":168,"t":"🟡 Is the factory floor clean and organized?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-factory-floor-clean-and-organized","p":154},{"i":171,"t":"About API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#about-api-tokens","p":170},{"i":173,"t":"Handling API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#handling-api-tokens","p":170},{"i":175,"t":"Using API Tokens with the SDK","u":"/python-sdk/docs/getting-started/api-tokens","h":"#using-api-tokens-with-the-sdk","p":170},{"i":177,"t":"Creating and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-and-revoking-api-tokens","p":170},{"i":179,"t":"Creating API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-api-tokens","p":170},{"i":181,"t":"Viewing and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#viewing-and-revoking-api-tokens","p":170},{"i":183,"t":"To revoke an API token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#to-revoke-an-api-token","p":170},{"i":187,"t":"Groundlight Stream Processor","u":"/python-sdk/docs/building-applications/sample-applications","h":"#groundlight-stream-processor","p":185},{"i":189,"t":"Arduino ESP32 Camera Sample App","u":"/python-sdk/docs/building-applications/sample-applications","h":"#arduino-esp32-camera-sample-app","p":185},{"i":191,"t":"Raspberry Pi","u":"/python-sdk/docs/building-applications/sample-applications","h":"#raspberry-pi","p":185},{"i":193,"t":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/building-applications/sample-applications","h":"#industrial-and-manufacturing-applications","p":185},{"i":197,"t":"Platform-specific Installation Guides","u":"/python-sdk/docs/installation","h":"#platform-specific-installation-guides","p":195},{"i":201,"t":"Prerequisites","u":"/python-sdk/docs/installation/linux","h":"#prerequisites","p":199},{"i":203,"t":"Basic Installation","u":"/python-sdk/docs/installation/linux","h":"#basic-installation","p":199},{"i":205,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#installing-groundlight-sdk","p":199},{"i":207,"t":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/linux","h":"#checking-groundlight-sdk-version","p":199},{"i":209,"t":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#upgrading-groundlight-sdk","p":199},{"i":211,"t":"Getting the right Python Version","u":"/python-sdk/docs/installation/linux","h":"#getting-the-right-python-version","p":199},{"i":213,"t":"Upgrading Python on Linux","u":"/python-sdk/docs/installation/linux","h":"#upgrading-python-on-linux","p":199},{"i":215,"t":"Special note about Ubuntu 18.04","u":"/python-sdk/docs/installation/linux","h":"#special-note-about-ubuntu-1804","p":199},{"i":217,"t":"Ready to go!","u":"/python-sdk/docs/installation/linux","h":"#ready-to-go","p":199},{"i":221,"t":"Prerequisites","u":"/python-sdk/docs/installation/macos","h":"#prerequisites","p":219},{"i":223,"t":"Basic Installation","u":"/python-sdk/docs/installation/macos","h":"#basic-installation","p":219},{"i":225,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#installing-groundlight-sdk","p":219},{"i":227,"t":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/macos","h":"#checking-groundlight-sdk-version","p":219},{"i":229,"t":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#upgrading-groundlight-sdk","p":219},{"i":231,"t":"Getting the right Python Version","u":"/python-sdk/docs/installation/macos","h":"#getting-the-right-python-version","p":219},{"i":233,"t":"Upgrading Python on MacOS","u":"/python-sdk/docs/installation/macos","h":"#upgrading-python-on-macos","p":219},{"i":235,"t":"Ready to go!","u":"/python-sdk/docs/installation/macos","h":"#ready-to-go","p":219},{"i":238,"t":"Smaller is better!","u":"/python-sdk/docs/installation/optional-libraries","h":"#smaller-is-better","p":237},{"i":240,"t":"PIL - optional but default installed","u":"/python-sdk/docs/installation/optional-libraries","h":"#pil---optional-but-default-installed","p":237},{"i":242,"t":"Working without PIL","u":"/python-sdk/docs/installation/optional-libraries","h":"#working-without-pil","p":237},{"i":244,"t":"Numpy, OpenCV - fully optional","u":"/python-sdk/docs/installation/optional-libraries","h":"#numpy-opencv---fully-optional","p":237},{"i":248,"t":"Requirements","u":"/python-sdk/docs/getting-started/streaming","h":"#requirements","p":246},{"i":250,"t":"Installation","u":"/python-sdk/docs/getting-started/streaming","h":"#installation","p":246},{"i":252,"t":"Creating the Application","u":"/python-sdk/docs/getting-started/streaming","h":"#creating-the-application","p":246},{"i":256,"t":"Prerequisites","u":"/python-sdk/docs/installation/raspberry-pi","h":"#prerequisites","p":254},{"i":258,"t":"Basic Installation","u":"/python-sdk/docs/installation/raspberry-pi","h":"#basic-installation","p":254},{"i":260,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/raspberry-pi","h":"#installing-groundlight-sdk","p":254},{"i":262,"t":"Using RTSP Streams","u":"/python-sdk/docs/installation/raspberry-pi","h":"#using-rtsp-streams","p":254},{"i":264,"t":"Sample application","u":"/python-sdk/docs/installation/raspberry-pi","h":"#sample-application","p":254},{"i":266,"t":"Ready to go!","u":"/python-sdk/docs/installation/raspberry-pi","h":"#ready-to-go","p":254},{"i":270,"t":"Prerequisites","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#prerequisites","p":268},{"i":272,"t":"Basic Installation","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#basic-installation","p":268},{"i":274,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#installing-groundlight-sdk","p":268},{"i":276,"t":"Using RTSP Streams","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#using-rtsp-streams","p":268},{"i":278,"t":"Sample application","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#sample-application","p":268},{"i":280,"t":"Ready to go!","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#ready-to-go","p":268},{"i":284,"t":"Prerequisites","u":"/python-sdk/docs/installation/windows","h":"#prerequisites","p":282},{"i":286,"t":"Basic Installation","u":"/python-sdk/docs/installation/windows","h":"#basic-installation","p":282},{"i":288,"t":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#installing-groundlight-sdk","p":282},{"i":290,"t":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/windows","h":"#checking-groundlight-sdk-version","p":282},{"i":292,"t":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#upgrading-groundlight-sdk","p":282},{"i":294,"t":"Getting the right Python Version","u":"/python-sdk/docs/installation/windows","h":"#getting-the-right-python-version","p":282},{"i":296,"t":"Upgrading Python on Windows","u":"/python-sdk/docs/installation/windows","h":"#upgrading-python-on-windows","p":282},{"i":298,"t":"Ready to go!","u":"/python-sdk/docs/installation/windows","h":"#ready-to-go","p":282},{"i":302,"t":"Easy Deployment","u":"/python-sdk/docs/iot","h":"#easy-deployment","p":300},{"i":304,"t":"Notification Options","u":"/python-sdk/docs/iot","h":"#notification-options","p":300},{"i":306,"t":"Multiple Supported Boards","u":"/python-sdk/docs/iot","h":"#multiple-supported-boards","p":300},{"i":308,"t":"Source Code","u":"/python-sdk/docs/iot","h":"#source-code","p":300},{"i":312,"t":"Prerequisites","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#prerequisites","p":310},{"i":314,"t":"Using the Application","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#using-the-application","p":310},{"i":316,"t":"MNS Home Page","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#mns-home-page","p":310},{"i":317,"t":"Detector Dashboard","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#detector-dashboard","p":310},{"i":318,"t":"Running the server","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-the-server","p":310},{"i":320,"t":"Running with Docker Compose","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-docker-compose","p":310},{"i":322,"t":"Running from Docker Compose on 32-bit ARM (armv7)","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-from-docker-compose-on-32-bit-arm-armv7","p":310},{"i":324,"t":"Running with AWS Greengrass","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-aws-greengrass","p":310},{"i":326,"t":"Running with Kubernetes","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-kubernetes","p":310},{"i":328,"t":"Building from Source","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#building-from-source","p":310}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/4",[0,6.2]],["t/6",[1,2.829,2,3.085,3,2.637,4,3.475,5,3.475]],["t/8",[1,2.319,2,2.529,3,2.162,6,2.319,7,2.848,8,2.848,9,2.848]],["t/10",[6,2.829,10,3.085,11,3.475,12,2.357,13,2.829]],["t/12",[6,2.319,12,1.932,14,2.848,15,2.319,16,2.529,17,2.848,18,2.848]],["t/14",[12,3.021,15,3.625,19,4.453]],["t/16",[12,3.021,20,4.453,21,3.625]],["t/18",[3,2.963,12,2.648,15,3.178,22,3.466]],["t/20",[3,2.963,10,3.466,13,3.178,22,3.466]],["t/22",[16,3.085,21,2.829,23,3.475,24,3.475,25,3.475]],["t/24",[26,6.2]],["t/26",[27,6.2]],["t/28",[13,3.625,28,3.954,29,4.453]],["t/30",[12,2.357,21,2.829,28,3.085,30,3.475,31,3.475]],["t/34",[32,2.603,33,5.184]],["t/36",[34,3.904,35,2.323,36,3.466,37,3.466]],["t/38",[32,1.96,35,2.323,38,3.466,39,3.904]],["t/40",[38,4.603,40,5.184]],["t/42",[41,3.904,42,3.904,43,3.466,44,3.466]],["t/44",[45,4.453,46,4.453,47,4.453]],["t/46",[48,4.453,49,4.453,50,4.453]],["t/48",[36,3.954,37,3.954,51,4.453]],["t/53",[52,3.934,53,4.603]],["t/55",[54,5.184,55,5.184]],["t/59",[56,3.954,57,3.954,58,4.453]],["t/61",[56,3.954,57,3.954,59,4.453]],["t/65",[60,3.954,61,4.453,62,3.625]],["t/67",[60,3.954,62,3.625,63,4.453]],["t/69",[64,5.184,65,5.184]],["t/73",[66,5.047]],["t/75",[67,5.505]],["t/77",[68,5.505]],["t/79",[69,3.475,70,3.475,71,3.475,72,3.475,73,3.475]],["t/81",[74,6.2]],["t/85",[75,3.934,76,5.184]],["t/87",[75,2.963,77,3.904,78,3.904,79,2.963]],["t/89",[79,3.38,80,4.453,81,3.954]],["t/91",[82,3.904,83,3.904,84,3.904,85,3.904]],["t/93",[79,3.934,86,5.184]],["t/95",[44,3.954,87,4.453,88,4.453]],["t/97",[79,3.38,89,4.453,90,4.453]],["t/99",[1,3.625,75,3.38,91,4.453]],["t/103",[62,4.22,92,5.184]],["t/105",[93,5.184,94,5.184]],["t/107",[95,5.184,96,5.184]],["t/109",[97,3.904,98,3.904,99,3.904,100,3.904]],["t/111",[101,5.184,102,5.184]],["t/116",[103,3.904,104,3.904,105,3.904,106,3.178]],["t/118",[106,3.625,107,3.954,108,3.954]],["t/120",[109,4.603,110,5.184]],["t/122",[107,3.954,111,3.625,112,4.453]],["t/124",[109,3.466,111,3.178,113,3.904,114,3.466]],["t/126",[108,3.085,111,2.829,114,3.085,115,3.475,116,3.475]],["t/129",[117,3.475,118,3.475,119,3.475,120,3.475,121,3.475]],["t/131",[122,6.2]],["t/133",[123,5.184,124,5.184]],["t/135",[35,2.323,125,3.466,126,3.904,127,3.904]],["t/138",[128,3.475,129,3.475,130,3.475,131,3.475,132,3.475]],["t/140",[133,5.047]],["t/142",[134,3.689]],["t/144",[35,3.084,135,3.706]],["t/148",[133,5.047]],["t/150",[134,3.689]],["t/152",[35,3.084,135,3.706]],["t/155",[136,6.2]],["t/157",[137,6.2]],["t/158",[138,2.357,139,3.475,140,3.475,141,3.475,142,3.475]],["t/160",[138,3.021,143,4.453,144,4.453]],["t/162",[138,2.357,145,3.475,146,3.475,147,3.475,148,3.475]],["t/164",[138,2.648,149,3.904,150,3.904,151,3.904]],["t/166",[138,3.516,152,5.184]],["t/168",[138,2.357,153,3.475,154,3.475,155,3.475,156,3.475]],["t/171",[157,3.353,158,3.516]],["t/173",[75,3.38,157,2.881,158,3.021]],["t/175",[157,2.525,158,2.648,159,2.963,160,2.087]],["t/177",[135,2.791,157,2.525,158,2.648,161,3.466]],["t/179",[135,3.184,157,2.881,158,3.021]],["t/181",[157,2.525,158,2.648,161,3.466,162,3.904]],["t/183",[157,2.881,163,4.453,164,4.453]],["t/187",[32,2.236,165,4.453,166,4.453]],["t/189",[52,2.637,167,3.475,168,3.475,169,3.475,170,3.475]],["t/191",[171,5.184,172,5.184]],["t/193",[53,3.954,173,4.453,174,4.453]],["t/197",[81,3.466,134,2.323,175,3.904,176,3.904]],["t/201",[177,4.205]],["t/203",[134,3.084,178,3.706]],["t/205",[32,2.236,160,2.382,179,3.184]],["t/207",[32,1.96,160,2.087,180,3.178,181,2.648]],["t/209",[32,2.236,160,2.382,182,3.021]],["t/211",[181,2.648,183,3.178,184,3.178,185,2.648]],["t/213",[182,3.021,185,3.021,186,4.453]],["t/215",[187,3.904,188,3.904,189,3.904,190,3.904]],["t/217",[191,3.706,192,3.706]],["t/221",[177,4.205]],["t/223",[134,3.084,178,3.706]],["t/225",[32,2.236,160,2.382,179,3.184]],["t/227",[32,1.96,160,2.087,180,3.178,181,2.648]],["t/229",[32,2.236,160,2.382,182,3.021]],["t/231",[181,2.648,183,3.178,184,3.178,185,2.648]],["t/233",[182,3.021,185,3.021,193,4.453]],["t/235",[191,3.706,192,3.706]],["t/238",[194,5.184,195,5.184]],["t/240",[66,3.178,196,3.466,197,3.904,198,3.904]],["t/242",[66,3.625,199,4.453,200,4.453]],["t/244",[67,3.466,68,3.466,196,3.466,201,3.904]],["t/248",[133,5.047]],["t/250",[134,3.689]],["t/252",[35,3.084,135,3.706]],["t/256",[177,4.205]],["t/258",[134,3.084,178,3.706]],["t/260",[32,2.236,160,2.382,179,3.184]],["t/262",[159,3.38,202,3.954,203,3.954]],["t/264",[35,3.084,52,3.934]],["t/266",[191,3.706,192,3.706]],["t/270",[177,4.205]],["t/272",[134,3.084,178,3.706]],["t/274",[32,2.236,160,2.382,179,3.184]],["t/276",[159,3.38,202,3.954,203,3.954]],["t/278",[35,3.084,52,3.934]],["t/280",[191,3.706,192,3.706]],["t/284",[177,4.205]],["t/286",[134,3.084,178,3.706]],["t/288",[32,2.236,160,2.382,179,3.184]],["t/290",[32,1.96,160,2.087,180,3.178,181,2.648]],["t/292",[32,2.236,160,2.382,182,3.021]],["t/294",[181,2.648,183,3.178,184,3.178,185,2.648]],["t/296",[182,3.021,185,3.021,204,4.453]],["t/298",[191,3.706,192,3.706]],["t/302",[205,5.184,206,5.184]],["t/304",[43,4.603,207,5.184]],["t/306",[208,4.453,209,4.453,210,4.453]],["t/308",[211,4.603,212,5.184]],["t/312",[177,4.205]],["t/314",[35,3.084,159,3.934]],["t/316",[213,4.453,214,4.453,215,4.453]],["t/317",[106,4.22,216,5.184]],["t/318",[217,3.706,218,5.184]],["t/320",[217,3.184,219,3.954,220,3.954]],["t/322",[217,2.036,219,2.529,220,2.529,221,2.848,222,2.848,223,2.848,224,2.848]],["t/324",[217,3.184,225,4.453,226,4.453]],["t/326",[217,3.706,227,5.184]],["t/328",[125,4.603,211,4.603]]],"invertedIndex":[["",{"_index":138,"t":{"158":{"position":[[0,1]]},"160":{"position":[[0,2]]},"162":{"position":[[0,1]]},"164":{"position":[[0,2]]},"166":{"position":[[0,1]]},"168":{"position":[[0,2]]}}}],["18.04",{"_index":190,"t":{"215":{"position":[[26,5]]}}}],["32",{"_index":221,"t":{"322":{"position":[[31,2]]}}}],["95",{"_index":11,"t":{"10":{"position":[[15,3]]}}}],["accuracy",{"_index":3,"t":{"6":{"position":[[9,8]]},"8":{"position":[[24,8]]},"18":{"position":[[31,8]]},"20":{"position":[[36,8]]}}}],["adding",{"_index":115,"t":{"126":{"position":[[0,6]]}}}],["api",{"_index":157,"t":{"171":{"position":[[6,3]]},"173":{"position":[[9,3]]},"175":{"position":[[6,3]]},"177":{"position":[[22,3]]},"179":{"position":[[9,3]]},"181":{"position":[[21,3]]},"183":{"position":[[13,3]]}}}],["apiexception",{"_index":76,"t":{"85":{"position":[[9,12]]}}}],["app",{"_index":170,"t":{"189":{"position":[[28,3]]}}}],["appendix",{"_index":28,"t":{"28":{"position":[[0,8]]},"30":{"position":[[0,8]]}}}],["application",{"_index":35,"t":{"36":{"position":[[16,11]]},"38":{"position":[[44,11]]},"135":{"position":[[25,11]]},"144":{"position":[[13,11]]},"152":{"position":[[13,11]]},"252":{"position":[[13,11]]},"264":{"position":[[7,11]]},"278":{"position":[[7,11]]},"314":{"position":[[10,11]]}}}],["applications",{"_index":53,"t":{"53":{"position":[[7,12]]},"193":{"position":[[29,12]]}}}],["approximation",{"_index":25,"t":{"22":{"position":[[46,13]]}}}],["architecture",{"_index":38,"t":{"38":{"position":[[0,12]]},"40":{"position":[[18,12]]}}}],["arduino",{"_index":167,"t":{"189":{"position":[[0,7]]}}}],["arm",{"_index":223,"t":{"322":{"position":[[38,3]]}}}],["armv7",{"_index":224,"t":{"322":{"position":[[42,7]]}}}],["automation",{"_index":94,"t":{"105":{"position":[[8,10]]}}}],["aws",{"_index":225,"t":{"324":{"position":[[13,3]]}}}],["b",{"_index":30,"t":{"30":{"position":[[9,1]]}}}],["background",{"_index":0,"t":{"4":{"position":[[0,10]]}}}],["balanced",{"_index":22,"t":{"18":{"position":[[22,8]]},"20":{"position":[[27,8]]}}}],["based",{"_index":16,"t":{"12":{"position":[[30,5]]},"22":{"position":[[26,5]]}}}],["basic",{"_index":178,"t":{"203":{"position":[[0,5]]},"223":{"position":[[0,5]]},"258":{"position":[[0,5]]},"272":{"position":[[0,5]]},"286":{"position":[[0,5]]}}}],["belt",{"_index":142,"t":{"158":{"position":[[48,5]]}}}],["best",{"_index":77,"t":{"87":{"position":[[0,4]]}}}],["better",{"_index":195,"t":{"238":{"position":[[11,7]]}}}],["bgr",{"_index":71,"t":{"79":{"position":[[15,3]]}}}],["binomial",{"_index":17,"t":{"12":{"position":[[43,8]]}}}],["bit",{"_index":222,"t":{"322":{"position":[[34,3]]}}}],["boards",{"_index":210,"t":{"306":{"position":[[19,6]]}}}],["bot",{"_index":46,"t":{"44":{"position":[[8,3]]}}}],["bound",{"_index":13,"t":{"10":{"position":[[36,5]]},"20":{"position":[[17,5]]},"28":{"position":[[23,5]]}}}],["bounding",{"_index":7,"t":{"8":{"position":[[6,8]]}}}],["bounds",{"_index":15,"t":{"12":{"position":[[23,6]]},"14":{"position":[[17,6]]},"18":{"position":[[11,6]]}}}],["boxes",{"_index":140,"t":{"158":{"position":[[26,5]]}}}],["build",{"_index":51,"t":{"48":{"position":[[0,5]]}}}],["building",{"_index":125,"t":{"135":{"position":[[0,8]]},"328":{"position":[[0,8]]}}}],["camera",{"_index":169,"t":{"189":{"position":[[14,6]]}}}],["cardboard",{"_index":139,"t":{"158":{"position":[[16,9]]}}}],["catch",{"_index":80,"t":{"89":{"position":[[0,5]]}}}],["cdf",{"_index":18,"t":{"12":{"position":[[52,3]]}}}],["central",{"_index":20,"t":{"16":{"position":[[0,7]]}}}],["channel",{"_index":69,"t":{"79":{"position":[[0,7]]}}}],["checking",{"_index":180,"t":{"207":{"position":[[0,8]]},"227":{"position":[[0,8]]},"290":{"position":[[0,8]]}}}],["classes",{"_index":85,"t":{"91":{"position":[[21,7]]}}}],["clean",{"_index":155,"t":{"168":{"position":[[24,5]]}}}],["closed",{"_index":148,"t":{"162":{"position":[[32,7]]}}}],["cnc",{"_index":99,"t":{"109":{"position":[[28,3]]}}}],["cobots",{"_index":98,"t":{"109":{"position":[[17,6]]}}}],["code",{"_index":212,"t":{"308":{"position":[[7,4]]}}}],["coin",{"_index":4,"t":{"6":{"position":[[22,4]]}}}],["comparison",{"_index":23,"t":{"22":{"position":[[0,10]]}}}],["completely",{"_index":147,"t":{"162":{"position":[[21,10]]}}}],["compose",{"_index":220,"t":{"320":{"position":[[20,7]]},"322":{"position":[[20,7]]}}}],["computer",{"_index":117,"t":{"129":{"position":[[0,8]]}}}],["conclusion",{"_index":26,"t":{"24":{"position":[[0,10]]}}}],["confidence",{"_index":12,"t":{"10":{"position":[[25,10]]},"12":{"position":[[12,10]]},"14":{"position":[[6,10]]},"16":{"position":[[8,10]]},"18":{"position":[[0,10]]},"30":{"position":[[31,10]]}}}],["configuring",{"_index":59,"t":{"61":{"position":[[0,11]]}}}],["considerations",{"_index":65,"t":{"69":{"position":[[10,14]]}}}],["constructing",{"_index":10,"t":{"10":{"position":[[0,12]]},"20":{"position":[[0,12]]}}}],["contact",{"_index":101,"t":{"111":{"position":[[0,7]]}}}],["control",{"_index":96,"t":{"107":{"position":[[8,7]]}}}],["conveyor",{"_index":141,"t":{"158":{"position":[[39,8]]}}}],["counter",{"_index":132,"t":{"138":{"position":[[43,7]]}}}],["create",{"_index":104,"t":{"116":{"position":[[11,6]]}}}],["creating",{"_index":135,"t":{"144":{"position":[[0,8]]},"152":{"position":[[0,8]]},"177":{"position":[[0,8]]},"179":{"position":[[0,8]]},"252":{"position":[[0,8]]}}}],["custom",{"_index":83,"t":{"91":{"position":[[4,6]]}}}],["customer",{"_index":130,"t":{"138":{"position":[[26,8]]}}}],["dashboard",{"_index":216,"t":{"317":{"position":[[9,9]]}}}],["default",{"_index":197,"t":{"240":{"position":[[19,7]]}}}],["deployment",{"_index":206,"t":{"302":{"position":[[5,10]]}}}],["detector",{"_index":106,"t":{"116":{"position":[[24,8]]},"118":{"position":[[21,8]]},"317":{"position":[[0,8]]}}}],["detectors",{"_index":110,"t":{"120":{"position":[[10,9]]}}}],["discord",{"_index":45,"t":{"44":{"position":[[0,7]]}}}],["docker",{"_index":219,"t":{"320":{"position":[[13,6]]},"322":{"position":[[13,6]]}}}],["door",{"_index":146,"t":{"162":{"position":[[16,4]]}}}],["easy",{"_index":205,"t":{"302":{"position":[[0,4]]}}}],["edge",{"_index":56,"t":{"59":{"position":[[8,4]]},"61":{"position":[[16,4]]}}}],["endpoint",{"_index":57,"t":{"59":{"position":[[13,8]]},"61":{"position":[[21,8]]}}}],["enhancements",{"_index":50,"t":{"46":{"position":[[24,12]]}}}],["error",{"_index":91,"t":{"99":{"position":[[10,5]]}}}],["escalation",{"_index":123,"t":{"133":{"position":[[0,10]]}}}],["esp32",{"_index":168,"t":{"189":{"position":[[8,5]]}}}],["exact",{"_index":14,"t":{"12":{"position":[[0,5]]}}}],["examples",{"_index":137,"t":{"157":{"position":[[0,8]]}}}],["exception",{"_index":84,"t":{"91":{"position":[[11,9]]}}}],["exceptions",{"_index":79,"t":{"87":{"position":[[28,10]]},"89":{"position":[[15,10]]},"93":{"position":[[4,10]]},"97":{"position":[[7,10]]}}}],["existing",{"_index":108,"t":{"118":{"position":[[12,8]]},"126":{"position":[[17,8]]}}}],["explicitly",{"_index":103,"t":{"116":{"position":[[0,10]]}}}],["factory",{"_index":153,"t":{"168":{"position":[[10,7]]}}}],["flips",{"_index":5,"t":{"6":{"position":[[27,5]]}}}],["floor",{"_index":154,"t":{"168":{"position":[[18,5]]}}}],["framegrab",{"_index":74,"t":{"81":{"position":[[0,9]]}}}],["full",{"_index":144,"t":{"160":{"position":[[20,5]]}}}],["fully",{"_index":201,"t":{"244":{"position":[[16,5]]}}}],["further",{"_index":54,"t":{"55":{"position":[[0,7]]}}}],["future",{"_index":48,"t":{"46":{"position":[[0,6]]}}}],["garage",{"_index":145,"t":{"162":{"position":[[9,6]]}}}],["getting",{"_index":183,"t":{"211":{"position":[[0,7]]},"231":{"position":[[0,7]]},"294":{"position":[[0,7]]}}}],["go",{"_index":192,"t":{"217":{"position":[[9,3]]},"235":{"position":[[9,3]]},"266":{"position":[[9,3]]},"280":{"position":[[9,3]]},"298":{"position":[[9,3]]}}}],["gracefully",{"_index":90,"t":{"97":{"position":[[18,10]]}}}],["greengrass",{"_index":226,"t":{"324":{"position":[[17,10]]}}}],["grime",{"_index":36,"t":{"36":{"position":[[34,5]]},"48":{"position":[[15,5]]}}}],["groundlight",{"_index":32,"t":{"34":{"position":[[0,11]]},"38":{"position":[[32,11]]},"187":{"position":[[0,11]]},"205":{"position":[[11,11]]},"207":{"position":[[9,11]]},"209":{"position":[[10,11]]},"225":{"position":[[11,11]]},"227":{"position":[[9,11]]},"229":{"position":[[10,11]]},"260":{"position":[[11,11]]},"274":{"position":[[11,11]]},"288":{"position":[[11,11]]},"290":{"position":[[9,11]]},"292":{"position":[[10,11]]}}}],["guardian",{"_index":37,"t":{"36":{"position":[[40,8]]},"48":{"position":[[21,8]]}}}],["guides",{"_index":176,"t":{"197":{"position":[[31,6]]}}}],["handle",{"_index":89,"t":{"97":{"position":[[0,6]]}}}],["handling",{"_index":75,"t":{"85":{"position":[[0,8]]},"87":{"position":[[19,8]]},"99":{"position":[[16,8]]},"173":{"position":[[0,8]]}}}],["home",{"_index":214,"t":{"316":{"position":[[4,4]]}}}],["image",{"_index":111,"t":{"122":{"position":[[12,5]]},"124":{"position":[[19,5]]},"126":{"position":[[26,5]]}}}],["implement",{"_index":87,"t":{"95":{"position":[[0,9]]}}}],["important",{"_index":64,"t":{"69":{"position":[[0,9]]}}}],["improvements",{"_index":49,"t":{"46":{"position":[[7,12]]}}}],["industrial",{"_index":173,"t":{"193":{"position":[[0,10]]}}}],["installation",{"_index":134,"t":{"142":{"position":[[0,12]]},"150":{"position":[[0,12]]},"197":{"position":[[18,12]]},"203":{"position":[[6,12]]},"223":{"position":[[6,12]]},"250":{"position":[[0,12]]},"258":{"position":[[6,12]]},"272":{"position":[[6,12]]},"286":{"position":[[6,12]]}}}],["installed",{"_index":198,"t":{"240":{"position":[[27,9]]}}}],["installing",{"_index":179,"t":{"205":{"position":[[0,10]]},"225":{"position":[[0,10]]},"260":{"position":[[0,10]]},"274":{"position":[[0,10]]},"288":{"position":[[0,10]]}}}],["integration",{"_index":97,"t":{"109":{"position":[[0,11]]}}}],["interpretation",{"_index":31,"t":{"30":{"position":[[13,14]]}}}],["intervals",{"_index":21,"t":{"16":{"position":[[19,9]]},"22":{"position":[[16,9]]},"30":{"position":[[42,9]]}}}],["introduction",{"_index":136,"t":{"155":{"position":[[0,12]]}}}],["kubernetes",{"_index":227,"t":{"326":{"position":[[13,10]]}}}],["labels",{"_index":116,"t":{"126":{"position":[[7,6]]}}}],["language",{"_index":121,"t":{"129":{"position":[[35,8]]}}}],["linux",{"_index":186,"t":{"213":{"position":[[20,5]]}}}],["list",{"_index":109,"t":{"120":{"position":[[0,4]]},"124":{"position":[[0,4]]}}}],["log",{"_index":86,"t":{"93":{"position":[[0,3]]}}}],["logic",{"_index":44,"t":{"42":{"position":[[34,5]]},"95":{"position":[[16,5]]}}}],["lower",{"_index":19,"t":{"14":{"position":[[0,5]]}}}],["machine",{"_index":62,"t":{"65":{"position":[[17,7]]},"67":{"position":[[17,7]]},"103":{"position":[[0,7]]}}}],["machines",{"_index":100,"t":{"109":{"position":[[32,8]]}}}],["macos",{"_index":193,"t":{"233":{"position":[[20,5]]}}}],["management",{"_index":42,"t":{"42":{"position":[[6,10]]}}}],["manufacturing",{"_index":174,"t":{"193":{"position":[[15,13]]}}}],["microservice",{"_index":40,"t":{"40":{"position":[[0,12]]}}}],["mns",{"_index":213,"t":{"316":{"position":[[0,3]]}}}],["multiple",{"_index":208,"t":{"306":{"position":[[0,8]]}}}],["natural",{"_index":120,"t":{"129":{"position":[[27,7]]}}}],["new",{"_index":105,"t":{"116":{"position":[[20,3]]}}}],["nice",{"_index":150,"t":{"164":{"position":[[18,4]]}}}],["normal",{"_index":24,"t":{"22":{"position":[[39,6]]}}}],["note",{"_index":188,"t":{"215":{"position":[[8,4]]}}}],["notification",{"_index":43,"t":{"42":{"position":[[21,12]]},"304":{"position":[[0,12]]}}}],["notifications",{"_index":47,"t":{"44":{"position":[[12,13]]}}}],["numpy",{"_index":68,"t":{"77":{"position":[[0,5]]},"244":{"position":[[0,6]]}}}],["opencv",{"_index":67,"t":{"75":{"position":[[0,6]]},"244":{"position":[[7,6]]}}}],["optional",{"_index":196,"t":{"240":{"position":[[6,8]]},"244":{"position":[[22,8]]}}}],["options",{"_index":207,"t":{"304":{"position":[[13,7]]}}}],["order",{"_index":70,"t":{"79":{"position":[[8,6]]}}}],["organized",{"_index":156,"t":{"168":{"position":[[34,10]]}}}],["out",{"_index":151,"t":{"164":{"position":[[23,4]]}}}],["overview",{"_index":34,"t":{"36":{"position":[[0,8]]}}}],["page",{"_index":215,"t":{"316":{"position":[[9,4]]}}}],["performance",{"_index":9,"t":{"8":{"position":[[47,11]]}}}],["pi",{"_index":172,"t":{"191":{"position":[[10,2]]}}}],["pil",{"_index":66,"t":{"73":{"position":[[0,3]]},"240":{"position":[[0,3]]},"242":{"position":[[16,3]]}}}],["platform",{"_index":175,"t":{"197":{"position":[[0,8]]}}}],["powered",{"_index":119,"t":{"129":{"position":[[16,7]]}}}],["practices",{"_index":78,"t":{"87":{"position":[[5,9]]}}}],["prerequisites",{"_index":177,"t":{"201":{"position":[[0,13]]},"221":{"position":[[0,13]]},"256":{"position":[[0,13]]},"270":{"position":[[0,13]]},"284":{"position":[[0,13]]},"312":{"position":[[0,13]]}}}],["previous",{"_index":113,"t":{"124":{"position":[[10,8]]}}}],["problem",{"_index":33,"t":{"34":{"position":[[18,7]]}}}],["process",{"_index":93,"t":{"105":{"position":[[0,7]]}}}],["processor",{"_index":166,"t":{"187":{"position":[[19,9]]}}}],["python",{"_index":185,"t":{"211":{"position":[[18,6]]},"213":{"position":[[10,6]]},"231":{"position":[[18,6]]},"233":{"position":[[10,6]]},"294":{"position":[[18,6]]},"296":{"position":[[10,6]]}}}],["quality",{"_index":95,"t":{"107":{"position":[[0,7]]}}}],["queries",{"_index":114,"t":{"124":{"position":[[25,7]]},"126":{"position":[[32,7]]}}}],["query",{"_index":112,"t":{"122":{"position":[[18,5]]}}}],["raspberry",{"_index":171,"t":{"191":{"position":[[0,9]]}}}],["reading",{"_index":55,"t":{"55":{"position":[[8,7]]}}}],["ready",{"_index":191,"t":{"217":{"position":[[0,5]]},"235":{"position":[[0,5]]},"266":{"position":[[0,5]]},"280":{"position":[[0,5]]},"298":{"position":[[0,5]]}}}],["references",{"_index":27,"t":{"26":{"position":[[0,10]]}}}],["requirements",{"_index":133,"t":{"140":{"position":[[0,12]]},"148":{"position":[[0,12]]},"248":{"position":[[0,12]]}}}],["retrieve",{"_index":107,"t":{"118":{"position":[[0,8]]},"122":{"position":[[0,8]]}}}],["retrieving",{"_index":63,"t":{"67":{"position":[[6,10]]}}}],["retry",{"_index":88,"t":{"95":{"position":[[10,5]]}}}],["revoke",{"_index":163,"t":{"183":{"position":[[3,6]]}}}],["revoking",{"_index":161,"t":{"177":{"position":[[13,8]]},"181":{"position":[[12,8]]}}}],["rgb",{"_index":73,"t":{"79":{"position":[[22,3]]}}}],["right",{"_index":184,"t":{"211":{"position":[[12,5]]},"231":{"position":[[12,5]]},"294":{"position":[[12,5]]}}}],["rtsp",{"_index":202,"t":{"262":{"position":[[6,4]]},"276":{"position":[[6,4]]}}}],["running",{"_index":217,"t":{"318":{"position":[[0,7]]},"320":{"position":[[0,7]]},"322":{"position":[[0,7]]},"324":{"position":[[0,7]]},"326":{"position":[[0,7]]}}}],["sales",{"_index":102,"t":{"111":{"position":[[8,5]]}}}],["sample",{"_index":52,"t":{"53":{"position":[[0,6]]},"189":{"position":[[21,6]]},"264":{"position":[[0,6]]},"278":{"position":[[0,6]]}}}],["sdk",{"_index":160,"t":{"175":{"position":[[26,3]]},"205":{"position":[[23,3]]},"207":{"position":[[21,3]]},"209":{"position":[[22,3]]},"225":{"position":[[23,3]]},"227":{"position":[[21,3]]},"229":{"position":[[22,3]]},"260":{"position":[[23,3]]},"274":{"position":[[23,3]]},"288":{"position":[[23,3]]},"290":{"position":[[21,3]]},"292":{"position":[[22,3]]}}}],["server",{"_index":218,"t":{"318":{"position":[[12,6]]}}}],["service",{"_index":131,"t":{"138":{"position":[[35,7]]}}}],["set",{"_index":2,"t":{"6":{"position":[[5,3]]},"8":{"position":[[43,3]]}}}],["setup",{"_index":60,"t":{"65":{"position":[[0,5]]},"67":{"position":[[0,5]]}}}],["simple",{"_index":126,"t":{"135":{"position":[[11,6]]}}}],["smaller",{"_index":194,"t":{"238":{"position":[[0,7]]}}}],["sophisticated",{"_index":39,"t":{"38":{"position":[[18,13]]}}}],["source",{"_index":211,"t":{"308":{"position":[[0,6]]},"328":{"position":[[14,6]]}}}],["special",{"_index":187,"t":{"215":{"position":[[0,7]]}}}],["specific",{"_index":81,"t":{"89":{"position":[[6,8]]},"197":{"position":[[9,8]]}}}],["state",{"_index":41,"t":{"42":{"position":[[0,5]]}}}],["stream",{"_index":165,"t":{"187":{"position":[[12,6]]}}}],["streams",{"_index":203,"t":{"262":{"position":[[11,7]]},"276":{"position":[[11,7]]}}}],["submitting",{"_index":61,"t":{"65":{"position":[[6,10]]}}}],["supported",{"_index":209,"t":{"306":{"position":[[9,9]]}}}],["technology",{"_index":124,"t":{"133":{"position":[[11,10]]}}}],["tending",{"_index":92,"t":{"103":{"position":[[8,7]]}}}],["test",{"_index":1,"t":{"6":{"position":[[0,4]]},"8":{"position":[[38,4]]},"99":{"position":[[0,4]]}}}],["thing",{"_index":152,"t":{"166":{"position":[[15,6]]}}}],["token",{"_index":164,"t":{"183":{"position":[[17,5]]}}}],["tokens",{"_index":158,"t":{"171":{"position":[[10,6]]},"173":{"position":[[13,6]]},"175":{"position":[[10,6]]},"177":{"position":[[26,6]]},"179":{"position":[[13,6]]},"181":{"position":[[25,6]]}}}],["tracking",{"_index":128,"t":{"138":{"position":[[0,8]]}}}],["trash",{"_index":143,"t":{"160":{"position":[[10,5]]}}}],["true",{"_index":8,"t":{"8":{"position":[[19,4]]}}}],["ubuntu",{"_index":189,"t":{"215":{"position":[[19,6]]}}}],["union",{"_index":29,"t":{"28":{"position":[[17,5]]}}}],["upgrading",{"_index":182,"t":{"209":{"position":[[0,9]]},"213":{"position":[[0,9]]},"229":{"position":[[0,9]]},"233":{"position":[[0,9]]},"292":{"position":[[0,9]]},"296":{"position":[[0,9]]}}}],["upper",{"_index":6,"t":{"8":{"position":[[0,5]]},"10":{"position":[[19,5]]},"12":{"position":[[6,5]]}}}],["use",{"_index":82,"t":{"91":{"position":[[0,3]]}}}],["using",{"_index":159,"t":{"175":{"position":[[0,5]]},"262":{"position":[[0,5]]},"276":{"position":[[0,5]]},"314":{"position":[[0,5]]}}}],["utilization",{"_index":129,"t":{"138":{"position":[[9,11]]}}}],["version",{"_index":181,"t":{"207":{"position":[[25,7]]},"211":{"position":[[25,7]]},"227":{"position":[[25,7]]},"231":{"position":[[25,7]]},"290":{"position":[[25,7]]},"294":{"position":[[25,7]]}}}],["viewing",{"_index":162,"t":{"181":{"position":[[0,7]]}}}],["vision",{"_index":118,"t":{"129":{"position":[[9,6]]}}}],["visual",{"_index":127,"t":{"135":{"position":[[18,6]]}}}],["vs",{"_index":72,"t":{"79":{"position":[[19,2]]}}}],["weather",{"_index":149,"t":{"164":{"position":[[10,7]]}}}],["windows",{"_index":204,"t":{"296":{"position":[[20,7]]}}}],["without",{"_index":200,"t":{"242":{"position":[[8,7]]}}}],["work",{"_index":122,"t":{"131":{"position":[[12,5]]}}}],["working",{"_index":199,"t":{"242":{"position":[[0,7]]}}}],["works",{"_index":58,"t":{"59":{"position":[[22,5]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"At Groundlight, we put careful thought into measuring the correctness of our machine learning detectors. In the simplest case, this means measuring detector accuracy. But our customers have vastly different performance needs since our platform allows them to train an ML model for nearly any Yes/No visual question-answering task. A single metric like accuracy is unlikely to provide adequate resolution for all such problems. Some customers might care more about false positive mistakes (precision) whereas others might care more about false negatives (recall). To provide insight for an endless variety of use cases yet still summarize performance with a single number, Groundlight's accuracy details view displays each detector's balanced accuracy. Balanced accuracy is the average of recall for all classes and is Groundlight's preferred summary metric. For binary problems, this is just the mean of accuracy on the should-be-YES images and accuracy on the should-be-NOs. We prefer balanced accuracy because it is easier to understand than metrics like the F1 score or AUROC. And since many commercially interesting problems are highly imbalanced - that is the answer is almost always YES or always NO - standard accuracy is not a useful performance measure because always predicting the most common class will yield high accuracy but be useless in practice. Figure 1: the detector accuracy details view shows balanced accuracy and per-class accuracy with exact 95% confidence intervals However, we've found that just displaying the balanced accuracy is not informative enough, as we do not always have an ample supply of ground truth labeled images to estimate it from. Ground truth labels are answers to image queries that have been provided by a customer, or customer representative, and are therefore trusted to be correct. With only a few ground truth labels, the estimate of a detector's balanced accuracy may itself be inaccurate. As such, we find it helpful to quantify and display the degree of possible inaccuracy by constructing confidence intervals for balanced accuracy, which brings us to the subject of this blog post! At Groundlight, we compute and display exact confidence intervals in order to upper and lower bound each detector's balanced accuracy, and thereby convey the amount of precision in the reported metric. The detector's accuracy details view displays these intervals as colored bars surrounding the reported accuracy numbers (see figure 1, above). This blog post describes the mathematics behind how we compute the intervals using the tails of the binomial distribution, and it also strives to provide a healthy amount of intuition for the math. Unlike the approximate confidence intervals based on the Gaussian distribution, which you may be familiar with, confidence intervals based on the binomial tails are exact, regardless of the number of ground truth labels we have available. Our exposition largely follows Langford, 2005 and we use his \"program bound\" as a primitive to construct confidence intervals for the balanced accuracy metric.","s":"Tales from the Binomial Tail: Confidence intervals for balanced accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"","p":2},{"i":5,"t":"To estimate and construct confidence intervals for balanced accuracy, we first need to understand how to construct confidence intervals for standard \"plain old\" accuracy. So we'll start here. Recall that standard accuracy is just the fraction of predictions a classifier makes which happen to be correct. This sounds simple enough, but to define this fraction rigorously, we actually need to make assumptions. To see why, consider the case that our classifier performs well on daytime images but poorly on nighttime ones. If the stream of images consists mainly of daytime photos, then our classifier's accuracy will be high, but if it's mainly nighttime images, our classifier's accuracy will be low. Or if the stream of images drifts slowly over time from day to nighttime images, our classifier won't even have a single accuracy. Its accuracy will be time-period dependent. Therefore, a classifier's \"true accuracy\" is inherently a function of the distribution of examples it's applied to. In practice, we almost never know what this distribution is. In fact, it's something of a mathematical fiction. But it happens to be a useful fiction in so far as it reflects reality, in that it lets us do things like bound the Platonic true accuracy of a classifier and otherwise reason about out-of-sample performance. Consequently, we make the assumption that there exists a distribution over the set of examples that our classifier sees, and that this distribution remains fixed over time. Let's call the distribution over images that our classifier sees, DDD. Each example in DDD consists of an image, x∈Xx \\in \\mathcal{X}x∈X, and an associated binary label, y∈y \\iny∈ { YES, NO }, which is the answer to the query. Let (x,y)∼D(x,y) \\sim D(x,y)∼D denote the action of sampling an example from DDD. We conceptualize our machine learning classifier as a function, hhh, which maps from the set of images, X\\mathcal{X}X, to the set of labels, Y\\mathcal{Y}Y. We say that hhh correctly classifies an example (x,y)(x,y)(x,y) if h(x)=yh(x) = yh(x)=y, and that hhh misclassifies it otherwise. For now, our goal is to construct a confidence inverval for the true, but unknown, accuracy of hhh. We define this true accuracy as the probability that hhh correctly classifies an example drawn from DDD: accD(h)=Pr⁡(x,y)∼D[ h(x)=y ]. \\text{acc}_{D}(h) = \\Pr_{(x,y) \\sim D}[ \\,h(x) = y\\, ].accD​(h)=(x,y)∼DPr​[h(x)=y]. The true accuracy is impossible to compute exactly because DDD is unknown and the universe of images is impossibly large. However, we can estimate it by evaluating hhh on a finite set of test examples, SSS, which have been drawn i.i.d. from DDD. That is, S={(x1,y1),(x2,y2),...,(xn,yn)}S = \\{ (x_1, y_1), (x_2, y_2), ..., (x_{n}, y_{n}) \\}S={(x1​,y1​),(x2​,y2​),...,(xn​,yn​)} where each (xi,yi)∼D(x_i, y_i) \\sim D(xi​,yi​)∼D for i=1,…,ni=1,\\ldots,ni=1,…,n. The fraction of images in SSS that hhh correctly classifies is called hhh's empirical accuracy on SSS, and this fraction is computed as acc^S(h)=1n∑i=1n1[ h(xi)=yi ].\\widehat{\\text{acc}}_{S}(h) = \\frac{1}{n} \\sum_{i=1}^n \\mathbf{1}[\\, h(x_i) = y_i \\,].accS​(h)=n1​i=1∑n​1[h(xi​)=yi​]. The notation 1[ condition ]\\mathbf{1}[\\, \\texttt{condition} \\,]1[condition] is shorthand for the indicator function which equals 1 when the condition\\texttt{condition}condition is true and 0 otherwise. So the formula above just sums the number of examples in SSS that are correctly classified and then multiplies by 1/n. The egg-shaped infographic below depicts the scenario of estimating hhh's true accuracy from its performance on a finite test set. The gray ellipse represents the full distribution of examples, DDD. Each dot corresponds to a single example image, xxx, whose true label, yyy, is represented by the dot's color - red for YES and blue for NO. The classifier, hhh, is represented by the dotted black line. Here, hhh is the decision rule that classifies all points to the left of the line as should-be YES and all points to the right as should-be-NO. The points with light gray circles around them are the ones that have been sampled to form the test set, SSS. Figure 2: true accuracy can only be estimated from performance on a finite test set. The gray shaded region represents the full distribution. The lightly circled points are examples sampled for the test set. In this case, our choice of test set, SSS, was unlucky because hhh's empirical accuracy on SSS looks great, appearing to be 9/9 = 100%. But evaluating hhh on the full distribution of examples, DDD, reveals that its true accuracy is much lower, only 24/27 = 89%. If our goal is to rarely be fooled into thinking that hhh's performance is much better than it really is, then this particular test set was unfortunate in the sense that hhh performs misleadingly well.","s":"Background","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#background","p":2},{"i":7,"t":"It turns out that the problem of determining a classifier's true accuracy from its performance on a finite test set exactly mirrors the problem of determining the bias of a possibly unfair coin after observing some number of flips. In this analogy, the act of classifying an example corresponds to flipping the coin, and the coin landing heads corresponds to the classifier's prediction being correct. Usefully, the binomial distribution completely characterizes the probability of observing kkk heads in NNN independent tosses of a biased coin whose bias, or propensity to land heads, is known to be the probability, ppp, through its probability mass function (PMF), defined as fN,p(k)=(Nk)pk(1−p)N−k.f_{N,p}(k) = {N \\choose k} p^k (1 - p)^{N-k}.fN,p​(k)=(kN​)pk(1−p)N−k. The cumulative density function (CDF) is the associated function that sums up the PMF probabilities over all outcomes (i.e., number of heads) from 0 through kkk. It tells us the probability of observing kkk or fewer heads in NNN independent tosses when the coin's bias is the probability ppp. The CDF is defined as FN,p(k)=∑j=0kfN,p(k).F_{N,p}(k) = \\sum_{j = 0}^k f_{N,p}(k).FN,p​(k)=j=0∑k​fN,p​(k). Below we've plotted the PMF (left) and CDF (right) functions for a binomial distribution whose parameters are N=30 and p=0.3. The PMF looks like a symmetric \"bell curve\". Its x-axis is the number of tosses that are heads, kkk. And its y-axis is the probability of observing kkk heads in NNN tosses. The CDF plot shows the cumulative sum of the PMF probabilities up through kkk on its y-axis. The CDF is a monotonically increasing function of kkk. Its value is 1.0 on the right side of the plot since the sum of all PMF probabilities must equal one. The binomial PMF doesn't always resemble a bell-shaped curve. This is true of the binomial distributions in the two plots below, whose respective bias parameters are p=0.15 and p=0.96.","s":"Test Set Accuracy and Coin Flips","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#test-set-accuracy-and-coin-flips","p":2},{"i":9,"t":"Now that we've examined the probability of coin tossing and seen how the number of heads from tosses of a biased coin mirrors the number of correctly classified examples in a randomly sampled test set, let's consider the problem of determining an upper bound for the true accuracy of a classifier given its performance on a test set. Imagine that we've sampled a test set, SSS, from DDD with 100 examples, and that our classifier, hhh, correctly classified 80 of them. We would like to upper bound hhh's true accuracy, accD(h)\\text{acc}_D(h)accD​(h), having observed its empirical accuracy, acc^S(h)\\widehat{\\text{acc}}_S(h)accS​(h) = 80/100 = 80%. Let's start by considering a very naive choice for the upper bound, taking it to equal the empirical accuracy of 80%. The figure below plots the PMF of a binomial distribution with parameters N=100 and p=0.80. Here, N is the test set size and p corresponds to the true, but unknown, classifier accuracy. The plot shows that if our classifier's true accuracy were in fact 80%, there would be a very good chance of observing an even lower empirical accuracy than what we actually observed. This is reflected in the substantial amount of probability mass lying to the left of the purple vertical line, which is placed at the empirical accuracy point of 80/100 = 80%. Figure 3: Binomial PMF (top) and CDF (bottom) for N=100 and true accuracy 80.0%. The CDF shows there is a 54% chance of seeing an empirical accuracy of 80% or less. In fact, the CDF of the binomial tells us that there is a 54% chance of seeing an empirical accuracy of 80% or less when the true accuracy is 80%. And since 54% is fairly good odds, our naive choice of 80% as an upper bound doesn't appear very safe. It would therefore be wise to increase our upper bound if we want it to be an upper bound! In contrast, the plot below shows that if the true accuracy were a bit higher, say 83%, we would only have a 1 in 4 chance of observing an empirical accuracy less than or equal to our observed accuracy of 80%. Or put differently, roughly a quarter of the test sets we could sample from DDD would yield an empirical accuracy of 80% or lower if hhh's true accuracy was 83%. This is shown by the 24.8% probability mass located to the left of the purple line at the 80% empirical accuracy point. The red line is positioned at the hypothesized true accuracy of 83%. Figure 4: Binomial PMF (top) and CDF (bottom) for N=100 and true accuracy 83.0%. The CDF shows there is a 24.8% chance of seeing an empirical accuracy of 80% or less. Still, events with one in four odds are quite common, so hypothesizing an even larger true accuracy would be wise if we want to ensure it's not less than the actual true accuracy. The next plot shows that if the true accuracy were higher still, at 86.3%, the empirical accuracy of 80% or less would be observed on only 5% of sampled test sets. This is evidenced by the even smaller amount of probability mass to the left of the purple line located at the empirical accuracy of 80%. Again, the red line is positioned at the hypothesized true accuracy of 86.3%. Figure 5: Binomial PMF (top) and CDF (bottom) for N=100 and true accuracy 86.3%. The CDF shows there is a 5% chance of seeing an empirical accuracy of 80% or less. In other words, if hhh's true accuracy were 86.3% or greater, we'd observe an empirical accuracy of 80% or lower on just 1 in 20 test sets. Consequently, the hypothesized true accuracy of 86.3% seems like a pretty safe choice for an upper bound.","s":"Upper Bounding the True Accuracy from Test Set Performance","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#upper-bounding-the-true-accuracy-from-test-set-performance","p":2},{"i":11,"t":"The procedure we just outlined, of increasing the hypothesized true accuracy starting from the observed empirical accuracy until exactly 5% of the binomial's probability mass lies to the left of the empirical accuracy, is how we construct an exact 95% upper confidence bound for the true accuracy. Remarkably, if we apply this procedure many times to find 95% accuracy upper confidence bounds for different ML classifiers at Groundlight, the computed upper bounds will in fact be larger than the respective classifiers' true accuracies in 95% of these encountered cases. This last statement is worth mulling over because it is exactly the right way to think about the guarantees associated with upper confidence bounds. Restated, a 95% upper confidence bound procedure for the true accuracy is one that produces a quantity greater than the true accuracy 95% of the time.","s":"Constructing a 95% Upper Confidence Bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-a-95-upper-confidence-bound","p":2},{"i":13,"t":"So now that we've intuitively described the procedure used to derive exact upper confidence bounds, we give a more formal treatment that will be useful in discussing confidence intervals for balanced accuracy. First, recall that the binomial's CDF function, FN,p(k)F_{N,p}(k)FN,p​(k), gives the probability of observing kkk or fewer heads in NNN tosses of a biased coin whose bias is ppp. Also, recall in the previous section that we decided to put exactly 5% of the probability mass in the lower tail of the PMF, and this yielded a 95% upper confidence bound. But we could have placed 1% in the lower tail, and doing so would have yielded a 99% upper confidence bound. A 99% upper confidence bound is looser than a 95% upper bound, but it upper bounds the true accuracy on 99% of test sets sampled as opposed to just 95%. The tightness of the bound versus the fraction of test sets it holds for is a trade off that we get to make referred to as the coverage. We control the coverage through a parameter named δ\\deltaδ. Above we had set δ\\deltaδ to 5% which gave us a 1 - δ\\deltaδ = 95% upper confidence bound. But we could have picked some other value for δ\\deltaδ. With δ\\deltaδ understood, we are now ready to give our formal definition of upper confidence bounds. Let δ\\deltaδ be given, NNN be the number of examples in the test set, kkk be the number of correctly classified test examples, and ppp be the true accuracy. Definition: the 100(1 - δ\\deltaδ)% binomial upper confidence bound for ppp is defined as pˉ(N,k,δ)=max⁡{ p : FN,p(k)≥δ }.\\bar{p}(N, k, \\delta) = \\max \\{ \\, p \\,:\\, F_{N,p}(k) \\ge \\delta \\,\\, \\}.pˉ​(N,k,δ)=max{p:FN,p​(k)≥δ}. In words, pˉ\\bar{p}pˉ​ is the maximum accuracy for which there exists at least δ\\deltaδ probability mass in the lower tail lying to the left of the observed number of correct classifications for the test set. And this definition exactly mirrors the procedure we used above to find the 95% upper confidence bound. We picked pˉ\\bar{p}pˉ​ to be the max ppp such that the CDF FN=100,p(k=80)F_{N=100,p}(k=80)FN=100,p​(k=80) was at least δ\\deltaδ = 5%. We can easily implement this definition in code. The binomial CDF is available in python through the scipy.stats module as binom.cdf. And we can use it to find the largest value of ppp for which FN,p(k)≥δF_{N,p}(k) \\ge \\deltaFN,p​(k)≥δ. However the CDF isn't directly invertible, so we can't just plug in δ\\deltaδ and get pˉ\\bar{p}pˉ​ out. Instead we need to search over possible values of ppp until we find the largest one that satisfies the inequality. This can be done efficiently using the interval bisection method which we implement below. from scipy.stats import binom def binomial_upper_bound(N, k, delta): \"\"\" Returns a 100*(1 - delta)% upper confidence bound on the accuracy of a classifier that correctly classifies k out of N examples. \"\"\" def cdf(p): return binom.cdf(k, N, p) def search(low, high): if high - low < 1e-6: return low # we have converged close enough mid = (low + high) / 2 if cdf(mid) >= delta: return search(mid, high) else: return search(low, mid) return search(low=k/N, high=1.0)","s":"Exact Upper Confidence Bounds based on the Binomial CDF","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#exact-upper-confidence-bounds-based-on-the-binomial-cdf","p":2},{"i":15,"t":"Referring back to our discussion of coin flips makes it clear how to construct lower bounds for true accuracy. We had likened a correct classification to a biased coin landing heads and we upper bounded the probability of heads based on the observed number of heads. But we could have used the same math to upper bound the probability of tails. And likening tails to misclassifications lets us upper bound the true error rate. Moreover, the error rate equals one minus the accuracy. And so we immediately get a lower bound on the accuracy by computing an upper bound on the error rate and subtracting it from one. Again, let δ\\deltaδ be given, NNN be the number of test examples, kkk be the number of correctly classified test examples, and let ppp be the true, but unknown, accuracy. Definition: the 100(1 - δ\\deltaδ)% binomial lower confidence bound for ppp is defined as p‾(N,k,δ)=1−max⁡{ p : FN,p(N−k)≥δ }.\\underline{p}(N, k, \\delta) = 1 - \\max \\{ \\, p \\,:\\, F_{N,p}(N - k) \\ge \\delta \\,\\, \\}.p​(N,k,δ)=1−max{p:FN,p​(N−k)≥δ}. Here N−kN - kN−k is the number of misclassified examples observed in the test set.","s":"Lower Confidence Bounds","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#lower-confidence-bounds","p":2},{"i":17,"t":"Now that we know how to derive upper and lower bounds which hold individually at a given confidence level, we can use our understanding to derive upper and lower bounds which hold simultaneously at the given confidence level. To do so, we compute what is called a central confidence interval. A 100×\\times×(1 - δ\\deltaδ)% central confidence interval is computed by running the upper and lower bound procedures with the adjusted confidence level of 100×\\times×(1 - δ\\deltaδ/2)%. For example, if we want to compute a 95% central confidence interval, we compute 97.5% lower and upper confidence bounds. This places δ\\deltaδ/2 = 2.5% probability mass in each tail, thereby providing 95% coverage in the central region. Pictorially below, you can see that the 95% central confidence interval (top row) produces wider bounds than just using the 95% lower and upper confidence bounds separately (bottom row). The looser bounds are unfortunate. But naively computing the lower and upper bounds at the original confidence level of 95% sacrifices coverage due to multiple testing. Figure 6: central confidence intervals produce wider bounds to correct for multiple testing In the next section, where we compute central confidence intervals for balanced accuracy, we will have to do even more to correct for multiple testing.","s":"Central Confidence Intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#central-confidence-intervals","p":2},{"i":19,"t":"Recall that the balanced accuracy for a binary classifier is the mean of its accuracy on examples from the positive class and its accuracy on examples from the negative class. To define what we mean by the \"true balanced accuracy\", we need to define appropriate distributions over examples from each class. To do so, we decompose DDD into separate class conditional distributions, D+D^+D+ and D−D^-D−, where Pr⁡{(x,y)∼D+}=Pr⁡{(x,y)∼D∣y=+1},\\Pr\\left\\{ (x,y) \\sim D^+ \\right\\} = \\Pr\\left\\{ (x,y) \\sim D \\mid y = +1 \\right\\},Pr{(x,y)∼D+}=Pr{(x,y)∼D∣y=+1},Pr⁡{(x,y)∼D−}=Pr⁡{(x,y)∼D∣y=−1}.\\Pr\\left\\{ (x,y) \\sim D^- \\right\\} = \\Pr\\left\\{ (x,y) \\sim D \\mid y = -1 \\right\\}.Pr{(x,y)∼D−}=Pr{(x,y)∼D∣y=−1}. The positive and negative true accuracies are defined with respect to each of these class specific distributions: acc+(h)=E(x,y)∼D+ 1[h(xi)=yi],\\text{acc}^+(h) = E_{(x,y) \\sim D^+} \\, \\mathbf{1}[ h(x_i) = y_i ],acc+(h)=E(x,y)∼D+​1[h(xi​)=yi​],acc−(h)=E(x,y)∼D− 1[h(xi)=yi].\\text{acc}^-(h) = E_{(x,y) \\sim D^-} \\, \\mathbf{1}[ h(x_i) = y_i ].acc−(h)=E(x,y)∼D−​1[h(xi​)=yi​]. The true balanced accuracy is then defined as the average of these, accbal(h)=acc+(h)+acc−(h)2.\\text{acc}_\\text{bal}(h) = \\frac{\\text{acc}^+(h) + \\text{acc}^-(h)}{2}.accbal​(h)=2acc+(h)+acc−(h)​.","s":"Confidence Bounds for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#confidence-bounds-for-balanced-accuracy","p":2},{"i":21,"t":"With the above definitions in hand, we can now bound the balanced accuracy of our classifier based on its performance on a test set. Let SSS be the test set, and let N+N^+N+ denote the number of positive examples in SSS N−N^-N− denote the number of negative examples in SSS k+k^+k+ denote the number of positive examples in SSS that hhh correctly classified k−k^-k− denote the number of negative examples in SSS that hhh correctly classified From these quantities, we can find lower and upper bounds for the positive and negative accuracies based on the binomial CDF. Denote these lower and upper bounds on positive and negative accuracy as acc+‾(h), acc+‾(h), acc−‾(h), acc−‾(h). \\underline{\\text{acc}^+}(h) ,~~ \\overline{\\text{acc}^+}(h) ,~~ \\underline{\\text{acc}^-}(h) ,~~ \\overline{\\text{acc}^-}(h).acc+​(h), acc+(h), acc−​(h), acc−(h). To find a 100(1 - δ\\deltaδ)% confidence interval for the accbal(h)\\text{acc}_\\text{bal}(h)accbal​(h), we first compute the quantities acc+‾(h)=p‾(N+,k+,δ/4) and acc+‾(h)=p‾(N+,k+,δ/4)\\underline{\\text{acc}^+}(h) = \\underline{p}(N^+, k^+, \\delta/4) ~~ \\text{ and } ~~ \\overline{\\text{acc}^+}(h) = \\overline{p}(N^+, k^+, \\delta/4)acc+​(h)=p​(N+,k+,δ/4) and acc+(h)=p​(N+,k+,δ/4)acc−‾(h)=p‾(N−,k−,δ/4) and acc−‾(h)=p‾(N−,k−,δ/4)\\underline{\\text{acc}^-}(h) = \\underline{p}(N^-, k^-, \\delta/4) ~~ \\text{ and } ~~ \\overline{\\text{acc}^-}(h) = \\overline{p}(N^-, k^-, \\delta/4)acc−​(h)=p​(N−,k−,δ/4) and acc−(h)=p​(N−,k−,δ/4) Importantly, we've used an adjusted delta value of δ/4\\delta/4δ/4 to account for mulitple testing. That is, if we desire our overall coverage to be (1 - δ\\deltaδ) = 95%, we run our individual bounding procedures with the substituted delta value of δ/4=1.25%\\delta/4 = 1.25\\%δ/4=1.25%. The reason why is as follows. By construction, each of the four bounds will fail to hold with probability δ/4\\delta/4δ/4. The union bound in appendix A tells us that the probability of at least one of these four bounds failing is no greater than the sum of the probabilities that each fails. Summing up the failure probabilities for all four bounds, the probability that at least one bound fails is therefore no greater than 4⋅(δ/4)=δ4\\cdot(\\delta/4) = \\delta4⋅(δ/4)=δ. Thus the probability that none of the bounds fails is at least 1 - δ\\deltaδ, giving us the desired level of coverage. Last, we obtain our exact lower and upper bounds for balanced accuracy by averaging the respective lower and upper bounds for the positive and negative class accuracies: accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\underline{\\text{acc}_\\text{bal}}(h) = (1/2) \\left( \\underline{\\text{acc}^+}(h) + \\underline{\\text{acc}^-}(h) \\right)accbal​​(h)=(1/2)(acc+​(h)+acc−​(h))accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\overline{\\text{acc}_\\text{bal}}(h) = (1/2) \\left( \\overline{\\text{acc}^+}(h) + \\overline{\\text{acc}^-}(h) \\right)accbal​​(h)=(1/2)(acc+(h)+acc−(h)) Pictorially below, we can see how the averaged lower and upper bounds contain the true balanced accuracy. Figure 7: the balanced accuracy is bounded by the respective averages of the lower and upper bounds","s":"Constructing the Bound for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-the-bound-for-balanced-accuracy","p":2},{"i":23,"t":"The main benefit of using bounds derived from the binomial CDF is that they are exact and always contain the true accuracy the desired fraction of the time. Let's compare this with the commonly used bound obtained by approximating the binomial PMF with a normal distribution. The motivation for the normal approximation comes from the central limit theorem, which states that for a binomial distribution with parameters NNN and ppp, the distribution of the empirical accuracy, p^=k/N\\hat{p} = k/Np^​=k/N, converges to a normal distribution as the sample size, NNN, goes to infinity, p^⟶dN(p,p(1−p)N).\\hat{p} \\stackrel{d}{\\longrightarrow} \\mathcal{N}\\left(p, \\frac{p(1-p)}{N}\\right).p^​⟶d​N(p,Np(1−p)​). This motivates the use of the traditional two-standard deviation confidence interval in which one reports Pr⁡{∣p−p^∣≤1.96 σ^}≥95% where σ^=p^(1−p^)N.\\Pr\\left\\{ | p - \\hat{p} | \\le 1.96 \\,\\hat{\\sigma} \\right\\} \\ge 95\\% ~ ~ ~ \\text{where} ~ ~ ~ \\hat{\\sigma} = \\sqrt{ \\frac{ \\hat{p}(1-\\hat{p}) }{N} }.Pr{∣p−p^​∣≤1.96σ^}≥95% where σ^=Np^​(1−p^​)​​. But it's well known that the normal distribution poorly approximates the sampling distribution of p^\\hat{p}p^​ when ppp is close to zero or one. For instance, if we observe zero errors on the test set, then p^\\hat{p}p^​ will equal 1.0 (i.e., 100% empirical accuracy), and the sample standard deviation, σ^\\hat{\\sigma}σ^, will equal zero. The estimated lower bound will therefore be equal to the empirical accuracy of 100%, which is clearly unbelievable. And since we train classifiers to have as close to 100% accuracy as possible, the regime in which ppp is close to one is of major interest. Thus, exact confidence intervals based on the binomial CDF are both more accurate and practically useful than those based on the normal approximation.","s":"Comparison with intervals based on the Normal approximation","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#comparison-with-intervals-based-on-the-normal-approximation","p":2},{"i":25,"t":"At Groundlight, we've put a lot of thought and effort into assessing the performance of our customers' ML models so they can easily understand how their detectors are performing. This includes the use of balanced accuracy as the summary performance metric and exact confidence intervals to convey the precision of the reported metric. Here we've provided a detailed tour of the methods we use to estimate confidence intervals around balanced accuracy. The estimated intervals are exact in that they possess the stated coverage, no matter how many ground truth labeled examples are available for testing. Our aim in this post has been to provide a better understanding of the metrics we display, how to interpret them, and how they're derived. We hope we've succeeded! If you are interested in reading more about these topics, see the references and brief appendices below.","s":"Conclusion","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#conclusion","p":2},{"i":27,"t":"[Langford, 2005] Tutorial on Practical Prediction Theory for Classification. Journal of Machine Learning Research 6 (2005) 273–306. [Brodersen et al., 2010] The balanced accuracy and its posterior distribution. Proceedings of the 20th International Conference on Pattern Recognition, 3121-24.","s":"References","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#references","p":2},{"i":29,"t":"Recall that the union bound states that for a collection of events, A1,A2,…,AnA_1, A_2, \\ldots, A_nA1​,A2​,…,An​, the probability that at least one of them occurs is less than the sum of the probabilities that each of them occurs: Pr⁡{∪i=1nAi}≤∑i=1nPr⁡(Ai).\\Pr\\left\\{ \\cup_{i=1}^n A_i \\right\\} \\le \\sum_{i=1}^n \\Pr(A_i).Pr{∪i=1n​Ai​}≤∑i=1n​Pr(Ai​). Pictorially, the union bound is understood from the image below which shows that area of the union of the regions is no greater than the sum of the regions' areas. Figure 8: Visualizing the union bound. The area of each region AiA_iAi​ corresponds to the probability that event AiA_iAi​ occurs. The sum of the total covered area must be less than the sum of the individual areas.","s":"Appendix A - the union bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-a---the-union-bound","p":2},{"i":31,"t":"The semantics around frequentist confidence intervals is subtle and confusing. The construction of a 95% upper confidence bound does NOT imply there is a 95% probability that the true accuracy is less than the bound. It only guarantees that the true accuracy is less than the upper bound in at least 95% of the cases that we run the the upper confidence bounding procedure (assuming we run the procedure many many times). For each individual case, however, the true accuracy is either greater than or less than the bound. And thus, for each case, the probability that the true accuracy is less than the bound equals either 0 or 1, we just don't know which. If you instead desire more conditional semantics, you need to use Bayesian credible intervals. See Brodersen et al., 2010 for a nice derivation of credible intervals for balanced accuracy.","s":"Appendix B - interpretation of confidence intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-b---interpretation-of-confidence-intervals","p":2},{"i":33,"t":"Groundlight has a Problem​ Here at the Groundlight office we have a bit of a problem - sometimes we leave dirty dishes in the office sink. They pile up, and as the pile grows it becomes more and more tempting to simply add to the pile instead of cleaning it up. It was clear that the Groundlight office needed a “grime guardian” to save us from our messy selves. One day, I realized that this was the perfect problem to solve using Groundlight’s computer vision SDK. I could focus on developing the complex embedded application logic while Groundlight handled the computer vision. My design provided me with an opportunity to test out a handful of interesting design patterns, including deployment on a Raspberry Pi, multi-camera and multi-detector usage, a microservice-like architecture achieved via multithreading, and complex state handling. The Groundlight office sink, where dishes accumulate faster than git commits.","s":"The Grime Guardian: Building Stateful Multi-camera applications with Groundlight","u":"/python-sdk/blog/grime-guardian","h":"","p":32},{"i":35,"t":"Here at the Groundlight office we have a bit of a problem - sometimes we leave dirty dishes in the office sink. They pile up, and as the pile grows it becomes more and more tempting to simply add to the pile instead of cleaning it up. It was clear that the Groundlight office needed a “grime guardian” to save us from our messy selves. One day, I realized that this was the perfect problem to solve using Groundlight’s computer vision SDK. I could focus on developing the complex embedded application logic while Groundlight handled the computer vision. My design provided me with an opportunity to test out a handful of interesting design patterns, including deployment on a Raspberry Pi, multi-camera and multi-detector usage, a microservice-like architecture achieved via multithreading, and complex state handling. The Groundlight office sink, where dishes accumulate faster than git commits.","s":"Groundlight has a Problem","u":"/python-sdk/blog/grime-guardian","h":"#groundlight-has-a-problem","p":32},{"i":37,"t":"The application I developed, the Grime Guardian, is designed to make it fun for the Groundlight team to clean up dishes that have been abandoned in the sink (source code). Using two cameras, the application monitors the state of the office sink and the overall kitchen scene. If it recognizes that dirty dishes were left in the sink for over a minute, it posts a funny yet inspiring message and photo to a Discord server that alerts the Groundlight team and encourages someone to help. Then, while the dishes remain unattended it surveys the kitchen until it sees someone. Once someone comes to help, it posts a message and photo, celebrating them as a hero, giving everyone in the Discord server a chance to recognize them. While this is cheesy, it has made it a bit more fun for us to do the dishes! The Grime Guardian alerting the Groundlight Team through Discord","s":"Overview of the Application - The Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#overview-of-the-application---the-grime-guardian","p":32},{"i":39,"t":"The Grime Guardian demonstrates how to build an advanced Groundlight application in a handful of ways: Raspberry Pi Deployment - The Grime Guardian leverages our custom Raspberry Pi Image, which makes it easy to deploy Groundlight applications on Raspberry Pi. Multiple Cameras - The Grime Guardian actively uses more than one camera to solve a problem (it has one camera pointed at the sink and one pointed at the general kitchen scene). Multiple Detectors - The Grime Guardian combines multiple Groundlight detectors to solve a problem. Microservice-like architecture via Multithreading - The Grime Guardian’s architecture is broken down into a handful of microservice-like processes - each running in a different thread on the same machine. This improves the app’s robustness and allows for more flexibility and scalability. Complex State - As described in the previous section, the state of the world this app is tracking is somewhat complex. In addition to knowing the state of the sink and kitchen, the app tracks how recently the state was updated and how recently it has sent a notification to the Groundlight team. Discord Bot Integration/Notifications - The Grime Guardian uses the Discord Bot API to send notifications to a Discord server. Discord can be an extremely powerful and flexible tool for building applications (e.g. Midjourney). Robustness - In practice, the Grime Guardian has been extremely robust, with only one or two incorrect (false positive) notifications over many weeks of deployment and hundreds of thousands of Groundlight queries.","s":"Architecture of a Sophisticated Groundlight Application","u":"/python-sdk/blog/grime-guardian","h":"#architecture-of-a-sophisticated-groundlight-application","p":32},{"i":41,"t":"The Grime Guardian leverages a microservice-like architecture via multithreading to enhance its performance and robustness. Each microservice within the application runs in its own thread on a single Raspberry Pi, allowing for simultaneous execution of tasks. This architecture is particularly beneficial in this context as it allows the application to monitor the sink and the kitchen scene concurrently using two cameras, and to process the data from these cameras independently. Furthermore, it enables the application to manage complex state tracking and Discord notifications without blocking or slowing down the image processing tasks. The application is broken into six microservices: Sink Image Capturer: This microservice captures images from a camera pointed at the sink and submits them as queries to a Groundlight detector via the ask_async SDK method (this method is useful for times in which the thread submitting image queries is not the same thread that will be retrieving and using the results). I set the detector's query to \"Is there at least one dish in the sink? Cleaning supplies like a sponge, brush, soap, etc. are not considered dishes. If you cannot see into the sink, consider it empty and answer NO\" and set the confidence threshold to 75%. After Groundlight replies with a query ID, the service passes the query ID to the Query Processor service. Kitchen Image Capturer: This microservice is identical to the Sink Image Capturer except it uses the camera that can view the whole kitchen and submits images to a detector with the query \"Is there at least one person in this image?\" and set the confidence threshold to 75% as well. Query Processor: This microservice processes the queries passed to it by the two Capturer services, waiting for confident answers from Groundlight and filtering out queries that do not become confident within a reasonable time (I chose a 10 second timeout as that was how frequently each Capturer service submitted a query to Groundlight). Queries that become confident are passed to the State Updater service. State Updater: This microservice updates a complex model of the application's state based on Groundlight's responses. It tracks the status and last update time of the sink and kitchen, the image query IDs that led to the current state, and the timestamps of the last clean sink and notifications sent. Notification Publisher: This microservice listens for updates to the state of the application (written by the State Updater) and decides whether it is appropriate to send one of two possible notifications. If a notification is needed, it adds it to a queue of notifications to be processed by the Discord Bot. Importantly, the Notification Publisher only determines if a notification should be sent. It does not handle the mechanics of what data to send or how and where to send it. Discord Bot: This microservice runs a Discord bot, which listens for requests from the Notification Publisher. When a request arrives, the bot collects the relevant data and sends notifications to a Discord server. Diagram created by Jared Randall Architecture diagram for the application","s":"Microservice-like Architecture","u":"/python-sdk/blog/grime-guardian","h":"#microservice-like-architecture","p":32},{"i":43,"t":"The Grime Guardian's ability to track and manage a complex state is a cornerstone of its functionality. The application not only needs to know the current state of the sink and kitchen but also when these states were last updated and when the last notifications were sent. In total, the application needs nine separate variables to function properly (a combination of binary-encoded state fields, timestamps, and image query IDs). This level of detail is crucial for avoiding redundant alerts and ensuring timely and accurate updates. As seen in the architecture diagram in the previous section, multiple services read and write to the state simultaneously. To handle this complexity, I implemented a wrapper around the state to handle reads and writes in a thread safe manner. This wrapper ensures the state can be accessed and modified safely across many services. It uses a lock to prevent race conditions, ensuring that only one thread can modify the state at a time. import threading import copy # simplified version of how the Grime Guardian manages state safely class SimpleThreadSafeState: def __init__(self): self.state = False self.lock = threading.Lock() def update_state(self, new_state: bool): with self.lock: self.state = new_state def get_state(self) -> bool: with self.lock: return copy.copy(self.state) The application uses this state to determine when to send notifications. I've tried to break down this logic into a few of flowcharts. At a high level, the logic is pretty simple. Whenever the the application's state is updated, the application performs a check to determine if the new state justifies sending each type of notification. Diagram created by Jared Randall High level flow for determining if a notification should be sent The logic for determining if each notification should be sent is a bit more complex. It first checks for the last time a notification was sent. If the last notification was sent in the last 5 minutes, no notification is sent. This is important as it prevents the application from spamming the Discord server with notifications. Next, the application checks if the sink currently has dirty dishes in it, and how long it has been since the sink was empty. We only send the notification if dirty dishes have been present for more than a minute. This approach ensures that the Grime Guardian does not send a notification every time someone puts a dirty dish in the sink, but only when dishes have been abandoned for a while. This ensures that the app only notifies the team when it is actually needed. Diagram created by Jared Randall Flow for determining if the dirty dishes notification should be sent The logic for determining if someone has arrived to help is similar. We have a check that ensures we do not spam the Discord server. Then, we only send a notification if there are currently dishes in the sink and someone is present in the kitchen. This ensures that the Grime Guardian does not send a notification every time someone walks into the kitchen, but only when dishes are in the sink. Diagram created by Jared Randall Flow for determining if the help arrived notification should be sent In retrospect, getting the notification logic to work properly was one of the more challenging parts of this project. The version I presented here is the result of many iterations and tweaks based on real world usage and results. I think this is because this logic is an expression of the application's core value proposition. If this \"business logic\" is not correct, the application will not be fun or useful. Fortunately, Groundlight enabled me to focus on this logic and not worry about the computer vision.","s":"State Management and Notification Logic","u":"/python-sdk/blog/grime-guardian","h":"#state-management-and-notification-logic","p":32},{"i":45,"t":"The Grime Guardian uses the Discord Bot API to send notifications to a Discord server I set up. At startup, Discord requires some boilerplate to handle authentication. After this is done, the bot listens for new notification requests from the Notification Publisher. Based on the type of request, the bot collects the relevant information (e.g. the image of the dirty sink, or the person doing the dishes) and sends the message. The Discord Bot API makes this incredibly simple, after handling authentication, a new message and an attached image can be sent in a single line. await channel.send(\"message\", file=discord.File(fpath)) While I did not have time to add more complexity to the bot, Discord’s strong documentation gives me confidence it would not be that hard to add more features. For example, it would have been nice if the bot could listen for replies or emote reactions to its notifications - if the bot reported that the sink was full of dishes when really it was not, I could react to the notification with an emote that indicates the correct label for the image, and then the bot could automatically send this information to Groundlight, improving ML performance.","s":"Discord Bot Notifications","u":"/python-sdk/blog/grime-guardian","h":"#discord-bot-notifications","p":32},{"i":47,"t":"Extending the functionality of the application, I can imagine adding motion detection to limit the frequency of image submissions to Groundlight. Currently, the application sends images to Groundlight at a fixed interval (every 10 seconds), regardless of whether there has been any significant change in the scene. This approach, while simple, could be optimized to become more cost effective. As it is now, it can lead to unnecessary image submissions when the scene is static. By incorporating motion detection, the application could intelligently decide when to send images to Groundlight. Fortunately, some of my excellent colleagues have built framegrab, an open source tool that automatically handles this.","s":"Future Improvements and Enhancements","u":"/python-sdk/blog/grime-guardian","h":"#future-improvements-and-enhancements","p":32},{"i":49,"t":"Thank you for taking the time to read my post! As I reflect back, I’m very proud of how Groundlight enabled me to very quickly and effortlessly stand up an ML solution to solve a simple office problem in a fun and engaging way! If you are particularly interested or inspired, I encourage you to check out the source code. Feel free to open a GitHub issue with questions or submit a PR with improvements! The Grime Guardian celebrates Tom, my colleague, for his heroic cleaning effort. The grime is no match for his dish-defeating determination!","s":"Build Your Own Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#build-your-own-grime-guardian","p":32},{"i":52,"t":"Groundlight provides a powerful \"computer vision powered by natural language\" system that enables you to build visual applications with minimal code. With Groundlight, you can quickly create applications for various use cases, from simple object detection to complex visual analysis. In this page, we'll introduce you to some sample applications built using Groundlight and provide links to more detailed guides on various topics.","s":"Building Applications","u":"/python-sdk/docs/building-applications","h":"","p":51},{"i":54,"t":"Sample Applications: Find repositories with examples of applications built with Groundlight","s":"Sample Applications","u":"/python-sdk/docs/building-applications","h":"#sample-applications","p":51},{"i":56,"t":"For more in-depth guides on various aspects of building applications with Groundlight, check out the following pages: Grabbing images: Understand the intricacies of how to submit images from various input sources to Groundlight. Working with detectors: Learn how to create, configure, and use detectors in your Groundlight-powered applications. Confidence levels: Master how to control the trade-off of latency against accuracy by configuring the desired confidence level for your detectors. Handling server errors: Understand how to handle and troubleshoot HTTP errors that may occur while using Groundlight. Asynchronous queries: Groundlight makes it easy to submit asynchronous queries. Learn how to submit queries asynchronously and retrieve the results later. Using Groundlight on the edge: Discover how to deploy Groundlight in edge computing environments for improved performance and reduced latency. Industrial applications: Learn how to apply modern natural-language-based computer vision to your industrial and manufacturing applications. By exploring these resources and sample applications, you'll be well on your way to building powerful visual applications using Groundlight's computer vision and natural language capabilities.","s":"Further Reading","u":"/python-sdk/docs/building-applications","h":"#further-reading","p":51},{"i":58,"t":"If your account has access to edge models, you can download and install them to your edge devices. This allows you to run your model evaluations on the edge, reducing latency, cost, network bandwidth, and energy.","s":"Using Groundlight on the Edge","u":"/python-sdk/docs/building-applications/edge","h":"","p":57},{"i":60,"t":"The Edge Endpoint runs as a set of docker containers on an \"edge device\". This edge device can be an NVIDIA Jetson device, rack-mounted server, or even a Raspberry Pi. The Edge Endpoint is responsible for downloading and running the models, and for communicating with the Groundlight cloud service. To use the edge endpoint, simply configure the Groundlight SDK to use the edge endpoint's URL instead of the cloud endpoint. All application logic will work seamlessly and unchanged with the Groundlight Edge Endpoint, except some ML answers will return much faster locally. Image queries answered at the edge endpoint will not appear in the cloud dashboard unless specifically configured to do so, in which case the edge prediction will not be reflected on the image query in the cloud.","s":"How the Edge Endpoint works","u":"/python-sdk/docs/building-applications/edge","h":"#how-the-edge-endpoint-works","p":57},{"i":62,"t":"To configure the Groundlight SDK to use the edge endpoint, you can either pass the endpoint URL to the Groundlight constructor like: from groundlight import Groundlight gl = Groundlight(endpoint=\"http://localhost:6717\") or by setting the GROUNDLIGHT_ENDPOINT environment variable like: export GROUNDLIGHT_ENDPOINT=http://localhost:6717 python your_app.py","s":"Configuring the Edge Endpoint","u":"/python-sdk/docs/building-applications/edge","h":"#configuring-the-edge-endpoint","p":57},{"i":64,"t":"Groundlight provides a simple interface for submitting asynchronous queries. This is useful for times in which the thread or process or machine submitting image queries is not the same thread or machine that will be retrieving and using the results. For example, you might have a forward deployed robot or camera that submits image queries to Groundlight, and a separate server that retrieves the results and takes action based on them. We will refer to these two machines as the submitting machine and the retrieving machine.","s":"Asynchronous Queries","u":"/python-sdk/docs/building-applications/async-queries","h":"","p":63},{"i":66,"t":"On the submitting machine, you will need to install the Groundlight Python SDK. Then you can submit image queries asynchronously using the ask_async interface (read the full documentation here). ask_async submits your query and returns as soon as the query is submitted. It does not wait for an answer to be available prior to returning to minimize the time your program spends interacting with Groundlight. As a result, the ImageQuery object ask_async returns lacks a result (the result field will be None). This is acceptable for this use case as the submitting machine is not interested in the result. Instead, the submitting machine just needs to communicate the ImageQuery.ids to the retrieving machine - this might be done via a database, a message queue, or some other mechanism. For this example, we assume you are using a database where you save the ImageQuery.id to it via db.save(image_query.id). from groundlight import Groundlight import cv2 from time import sleep detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") cam = cv2.VideoCapture(0) # Initialize camera (0 is the default index) while True: _, image = cam.read() # Capture one frame from the camera image_query = gl.ask_async(detector=detector, image=image) # Submit the frame to Groundlight db.save(image_query.id) # Save the image_query.id to a database for the retrieving machine to use sleep(10) # Sleep for 10 seconds before submitting the next query cam.release() # Release the camera","s":"Setup Submitting Machine","u":"/python-sdk/docs/building-applications/async-queries","h":"#setup-submitting-machine","p":63},{"i":68,"t":"On the retrieving machine you will need to install the Groundlight Python SDK. Then you can retrieve the results of the image queries submitted by another machine using get_image_query. The retrieving machine can then use the ImageQuery.result to take action based on the result for whatever application you are building. For this example, we assume your application looks up the next image query to process from a database via db.get_next_image_query_id() and that this function returns None once all ImageQuerys are processed. from groundlight import Groundlight detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") image_query_id = db.get_next_image_query_id() while image_query_id is not None: image_query = gl.get_image_query(id=image_query_id) # retrieve the image query from Groundlight result = image_query.result # take action based on the result of the image query if result.label == 'YES': pass # TODO: do something based on your application elif result.label == 'NO': pass # TODO: do something based on your application elif result.label == 'UNCLEAR': pass # TODO: do something based on your application # update image_query_id for next iteration of the loop image_query_id = db.get_next_image_query_id()","s":"Setup Retrieving Machine","u":"/python-sdk/docs/building-applications/async-queries","h":"#setup-retrieving-machine","p":63},{"i":70,"t":"When you submit an image query asynchronously, ML prediction on your query is not instant. So attempting to retrieve the result immediately after submitting an async query will likely result in an UNCLEAR result as Groundlight is still processing your query. Instead, if your code needs a result synchronously we recommend using one of our methods with a polling mechanism to retrieve the result. You can see all of the interfaces available in the documentation here. from groundlight import Groundlight from PIL import Image detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") image = Image.open(\"/path/to/your/image.jpg\") image_query = gl.ask_async(detector=detector, image=image) # Submit async query to Groundlight result = image_query.result # This will always be 'None' as you asked asynchronously image_query = gl.get_image_query(id=image_query.id) # Immediately retrieve the image query from Groundlight result = image_query.result # This will likely be 'UNCLEAR' as Groundlight is still processing your query image_query = gl.wait_for_confident_result(id=image_query.id) # Poll for a confident result from Groundlight result = image_query.result","s":"Important Considerations","u":"/python-sdk/docs/building-applications/async-queries","h":"#important-considerations","p":63},{"i":72,"t":"Groundlight's SDK accepts images in many popular formats, including PIL, OpenCV, and numpy arrays.","s":"Grabbing Images","u":"/python-sdk/docs/building-applications/grabbing-images","h":"","p":71},{"i":74,"t":"The Groundlight SDK can accept PIL images directly in submit_image_query. Here's an example: from groundlight import Groundlight from PIL import Image gl = Groundlight() det = gl.get_or_create_detector(name=\"path-clear\", query=\"Is the path clear?\") pil_img = Image.open(\"./docs/static/img/doorway.jpg\") gl.submit_image_query(det, pil_img)","s":"PIL","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#pil","p":71},{"i":76,"t":"OpenCV is a popular image processing library, with many utilities for working with images. OpenCV images are stored as numpy arrays. (Note they are stored in BGR order, not RGB order, but as of Groundlight SDK v0.8 this is the expected order.) OpenCV's images can be send directly to submit_image_query as follows: import cv2 cam = cv2.VideoCapture(0) # Initialize camera (0 is the default index) _, frame = cam.read() # Capture one frame gl.submit_image_query(detector, frame) # Send the frame to Groundlight cam.release() # Release the camera","s":"OpenCV","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#opencv","p":71},{"i":78,"t":"The Groundlight SDK can accept images as numpy arrays. They should be in the standard HWN format in BGR color order, matching OpenCV standards. Pixel values should be from 0-255 (not 0.0-1.0 as floats). So uint8 data type is preferable since it saves memory. Here's sample code to create an 800x600 random image in numpy: import numpy as np np_img = np.random.uniform(low=0, high=255, size=(600, 800, 3)).astype(np.uint8) # Note: channel order is interpretted as BGR not RGB gl.submit_image_query(detector, np_img)","s":"Numpy","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#numpy","p":71},{"i":80,"t":"Groundlight expects images in BGR order, because this is standard for OpenCV, which uses numpy arrays as image storage. (OpenCV uses BGR because it was originally developed decades ago for compatibility with the BGR color format used by many cameras and image processing hardware at the time of its creation.) Most other image libraries use RGB order, so if you are using images as numpy arrays which did not originate from OpenCV you likely need to reverse the channel order before sending the images to Groundlight. Note this change was made in v0.8 of the Groundlight SDK - in previous versions, RGB order was expected. If you have an RGB array, you must reverse the channel order before sending it to Groundlight, like: # Convert numpy image in RGB channel order to BGR order bgr_img = rgb_img[:, :, ::-1] The difference can be surprisingly subtle when red and blue get swapped. Often images just look a little off, but sometimes they look very wrong. Here's an example of a natural-scene image where you might think the color balance is just off: In industrial settings, the difference can be almost impossible to detect without prior knowledge of the scene:","s":"Channel order: BGR vs RGB","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#channel-order-bgr-vs-rgb","p":71},{"i":82,"t":"For a unified interface to many different kinds of image sources, see the framegrab library. Framegrab is still an early work in progress, but has many useful features for working with cameras and other image sources. Framegrab provides a single interface for many different kinds of image sources, including: USB cameras IP cameras Video files Image files","s":"Framegrab","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#framegrab","p":71},{"i":84,"t":"When building applications with the Groundlight SDK, you may encounter server errors during API calls. This page covers how to handle such errors and build robust code that can gracefully handle exceptions.","s":"Handling Server Errors","u":"/python-sdk/docs/building-applications/handling-errors","h":"","p":83},{"i":86,"t":"If there is an HTTP error during an API call, the SDK will raise an ApiException. You can access different metadata from that exception: import traceback from groundlight import ApiException, Groundlight gl = Groundlight() try: d = gl.get_or_create_detector( \"Road Checker\", \"Is the site access road blocked?\") iq = gl.submit_image_query(d, get_image(), wait=60) except ApiException as e: # Print a traceback for debugging traceback.print_exc() # e.reason contains a textual description of the error print(f\"Error reason: {e.reason}\") # e.status contains the HTTP status code print(f\"HTTP status code: {e.status}\") # Common HTTP status codes: # 400 Bad Request: The request was invalid or malformed # 401 Unauthorized: Your GROUNDLIGHT_API_TOKEN is missing or invalid # 403 Forbidden: The request is not allowed due to insufficient permissions # 404 Not Found: The requested resource was not found # 429 Too Many Requests: The rate limit for the API has been exceeded # 500 Internal Server Error: An error occurred on the server side","s":"Handling ApiException","u":"/python-sdk/docs/building-applications/handling-errors","h":"#handling-apiexception","p":83},{"i":88,"t":"When working with the Groundlight SDK, follow these best practices to handle exceptions and build robust code:","s":"Best Practices for Handling Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#best-practices-for-handling-exceptions","p":83},{"i":90,"t":"Catch only the specific exceptions that you expect to be raised, such as ApiException. Avoid catching broad exceptions like Exception, as it may make debugging difficult and obscure other unrelated issues.","s":"Catch Specific Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#catch-specific-exceptions","p":83},{"i":92,"t":"Consider creating custom exception classes for your application-specific errors. This can help you differentiate between errors originating from the Groundlight SDK and those from your application.","s":"Use Custom Exception Classes","u":"/python-sdk/docs/building-applications/handling-errors","h":"#use-custom-exception-classes","p":83},{"i":94,"t":"Log exceptions with appropriate log levels (e.g., error, warning, etc.) and include relevant context information. This will help you debug issues more effectively and monitor the health of your application.","s":"Log Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#log-exceptions","p":83},{"i":96,"t":"When handling exceptions, implement retry logic with exponential backoff for transient errors, such as network issues or rate-limiting. This can help your application recover from temporary issues without manual intervention.","s":"Implement Retry Logic","u":"/python-sdk/docs/building-applications/handling-errors","h":"#implement-retry-logic","p":83},{"i":98,"t":"In addition to logging exceptions, handle them gracefully to ensure that your application remains functional despite errors. This might include displaying an error message to users or falling back to a default behavior.","s":"Handle Exceptions Gracefully","u":"/python-sdk/docs/building-applications/handling-errors","h":"#handle-exceptions-gracefully","p":83},{"i":100,"t":"Write tests to ensure that your error handling works as expected. This can help you catch issues early and ensure that your application can handle errors gracefully in production. By following these best practices, you can create robust and resilient applications that can handle server errors and other exceptions when using the Groundlight SDK.","s":"Test Your Error Handling","u":"/python-sdk/docs/building-applications/handling-errors","h":"#test-your-error-handling","p":83},{"i":102,"t":"Modern natural language-based computer vision is transforming industrial and manufacturing applications by enabling more intuitive interaction with automation systems. Groundlight offers cutting-edge computer vision technology that can be seamlessly integrated into various industrial processes, enhancing efficiency, productivity, and quality control.","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/building-applications/industrial","h":"","p":101},{"i":104,"t":"Groundlight's computer vision technology can assist in automating machine-tending tasks, such as loading and unloading materials in CNC machines, milling centers, or injection molding equipment. By enabling robots to recognize parts and tools using natural language, complex machine-tending tasks become more accessible and efficient.","s":"Machine Tending","u":"/python-sdk/docs/building-applications/industrial","h":"#machine-tending","p":101},{"i":106,"t":"Integrating Groundlight's computer vision into your process automation systems can help identify bottlenecks, optimize workflows, and reduce manual intervention. Our technology can work hand-in-hand with robotic systems to perform tasks like sorting, assembly, all while interpreting natural language commands to streamline operations.","s":"Process Automation","u":"/python-sdk/docs/building-applications/industrial","h":"#process-automation","p":101},{"i":108,"t":"Groundlight's computer vision technology can play a vital role in ensuring the highest quality standards in your manufacturing processes. By identifying defects or irregularities in products, our computer vision system can help maintain strict quality control, reducing the need for manual inspections and increasing overall product quality.","s":"Quality Control","u":"/python-sdk/docs/building-applications/industrial","h":"#quality-control","p":101},{"i":110,"t":"Groundlight's computer vision technology can be easily integrated with popular cobot robotic arms, such as Universal Robots, to enhance their capabilities and improve collaboration between humans and robots. Additionally, our technology can be integrated into existing CNC machines or other devices using the Modbus interface, allowing for seamless communication and control within your manufacturing environment.","s":"Integration with Cobots and CNC Machines","u":"/python-sdk/docs/building-applications/industrial","h":"#integration-with-cobots-and-cnc-machines","p":101},{"i":112,"t":"To learn more about how Groundlight's natural language computer vision technology can revolutionize your industrial and manufacturing processes, please reach out to us at info@groundlight.ai.","s":"Contact Sales","u":"/python-sdk/docs/building-applications/industrial","h":"","p":101},{"i":114,"t":"Groundlight gives you a simple way to control the trade-off of latency against accuracy. The longer you can wait for an answer to your image query, the better accuracy you can get. In particular, if the ML models are unsure of the best response, they will escalate the image query to more intensive analysis with more complex models and real-time human monitors as needed. Your code can easily wait for this delayed response. Either way, these new results are automatically trained into your models so your next queries will get better results faster. The desired confidence level is set as the escalation threshold on your detector. This determines the minimum confidence score for the ML system to provide before the image query is escalated. For example, say you want to set your desired confidence level to 0.95, but that you're willing to wait up to 60 seconds to get a confident response. from groundlight import Groundlight from PIL import Image import requests gl = Groundlight() image_url = \"https://www.photos-public-domain.com/wp-content/uploads/2010/11/over_flowing_garbage_can.jpg\" image = Image.open(requests.get(image_url, stream=True).raw) d = gl.get_or_create_detector(name=\"trash\", query=\"Is the trash can full?\", confidence_threshold=0.95) # This will wait until either 60 seconds have passed or the confidence reaches 0.95 image_query = gl.submit_image_query(detector=d, image=image, wait=60) print(f\"The answer is {image_query.result}\") tip Tuning confidence lets you balance accuracy against latency. Higher confidence will get higher accuracy, but will generally require higher latency. Higher confidence also requires more labels, which increases labor costs. Or if you want to execute submit_image_query as fast as possible, set wait=0. You will either get the ML results or a placeholder response if the ML model hasn't finished executing. Image queries which are below the desired confidence level will still be escalated for further analysis, and the results are incorporated as training data to improve your ML model, but your code will not wait for that to happen. image_query = gl.submit_image_query(detector=d, image=image, wait=0) If the returned result was generated from an ML model, you can see the confidence score returned for the image query: print(f\"The confidence is {image_query.result.confidence}\")","s":"Confidence Levels","u":"/python-sdk/docs/building-applications/managing-confidence","h":"","p":113},{"i":117,"t":"Typically you'll use the get_or_create_detector(name: str, query: str) method to find an existing detector you've already created with the same name, or create a new one if it doesn't exists. But if you'd like to force creating a new detector you can also use the create_detector(name: str, query: str) method from groundlight import Groundlight gl = Groundlight() detector = gl.create_detector(name=\"your_detector_name\", query=\"is this what we want to see?\")","s":"Explicitly create a new detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#explicitly-create-a-new-detector","p":115},{"i":119,"t":"from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"YOUR_DETECTOR_ID\")","s":"Retrieve an existing detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-existing-detector","p":115},{"i":121,"t":"from groundlight import Groundlight gl = Groundlight() # Defaults to 10 results per page detectors = gl.list_detectors() # Pagination: 1st page of 5 results per page detectors = gl.list_detectors(page=1, page_size=5)","s":"List your detectors","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#list-your-detectors","p":115},{"i":123,"t":"In practice, you may want to check for a new result on your query. For example, after a cloud reviewer labels your query. For example, you can use the image_query.id after the above submit_image_query() call. from groundlight import Groundlight gl = Groundlight() image_query = gl.get_image_query(id=\"iq_YOUR_IMAGE_QUERY_ID\")","s":"Retrieve an image query","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-image-query","p":115},{"i":125,"t":"from groundlight import Groundlight gl = Groundlight() # Defaults to 10 results per page image_queries = gl.list_image_queries() # Pagination: 1st page of 5 results per page image_queries = gl.list_image_queries(page=1, page_size=5)","s":"List your previous image queries","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#list-your-previous-image-queries","p":115},{"i":127,"t":"Groundlight lets you start using models by making queries against your very first image, but there are a few situations where you might either have an existing dataset, or you'd like to handle the escalation response programatically in your own code but still include the label to get better responses in the future. With your image_query from either submit_image_query() or get_image_query() you can add the label directly. Note that if the query is already in the escalation queue due to low ML confidence or audit thresholds, it may also receive labels from another source. from groundlight import Groundlight from PIL import Image import requests gl = Groundlight() d = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") image_url= \"https://images.selfstorage.com/large-compress/2174925f24362c479b2.jpg\" image = Image.open(requests.get(image_url, stream=True).raw) image_query = gl.submit_image_query(detector=d, image=image) gl.add_label(image_query, 'YES') # or 'NO' The only valid labels at this time are 'YES' and 'NO'.","s":"Adding labels to existing image queries","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#adding-labels-to-existing-image-queries","p":115},{"i":130,"t":"Build a working computer vision system in just a few lines of python: from groundlight import Groundlight gl = Groundlight() det = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result}\")","s":"Computer Vision powered by Natural Language","u":"/python-sdk/docs/getting-started","h":"#computer-vision-powered-by-natural-language","p":128},{"i":132,"t":"Your images are first analyzed by machine learning (ML) models which are automatically trained on your data. If those models have high enough confidence, that's your answer. But if the models are unsure, then the images are progressively escalated to more resource-intensive analysis methods up to real-time human review. So what you get is a computer vision system that starts working right away without even needing to first gather and label a dataset. At first it will operate with high latency, because people need to review the image queries. But over time, the ML systems will learn and improve so queries come back faster with higher confidence.","s":"How does it work?","u":"/python-sdk/docs/getting-started","h":"#how-does-it-work","p":128},{"i":134,"t":"Groundlight's Escalation Technology combines the power of generative AI using our Visual LLM, along with the speed of edge computing, and the reliability of real-time human oversight.","s":"Escalation Technology","u":"/python-sdk/docs/getting-started","h":"#escalation-technology","p":128},{"i":136,"t":"Install the groundlight SDK. Requires python version 3.8 or higher. See prerequisites. pip3 install groundlight Head over to the Groundlight dashboard to create an API token. You will need to set the GROUNDLIGHT_API_TOKEN environment variable to access the API. export GROUNDLIGHT_API_TOKEN=api_2GdXMflhJi6L_example Create a python script. ask.py from groundlight import Groundlight gl = Groundlight() det = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result}\") Run it! python ask.py","s":"Building a simple visual application","u":"/python-sdk/docs/getting-started","h":"#building-a-simple-visual-application","p":128},{"i":139,"t":"This example demonstrates the application of Groundlight to a retail analytics solution, which monitors the usage of a service counter by customers throughout the day. The application creates a detector to identify when the service desk is being utilized by a customer. It checks the detector every minute, and once an hour, it prints out a summary of the percentage of time that the service counter is in use. At the end of the day, it emails the daily log. This retail analytics application can be beneficial in various ways: Staff allocation and scheduling: By analyzing the usage patterns of the service counter, store managers can optimize staff allocation and scheduling, ensuring that enough employees are available during peak hours and reducing wait times for customers. Identifying trends: The application can help identify trends in customer behavior, such as busier times of the day or specific days of the week with higher traffic. This information can be used to plan targeted marketing campaigns or promotions to increase sales and customer engagement. Improving store layout: Understanding when and how often customers use the service counter can provide insights into the effectiveness of the store's layout. Retailers can use this information to make data-driven decisions about rearranging the store layout to encourage customers to visit the service counter or explore other areas of the store. Customer satisfaction: By monitoring the usage of the service counter and proactively addressing long wait times or crowded areas, retailers can improve customer satisfaction and loyalty. A positive customer experience can lead to increased sales and return visits. To implement this retail analytics solution, a store would need to install a supported camera near the service counter, ensuring a clear view of the area. The camera would then be connected to a computer running the Groundlight-based application. Store managers would receive hourly summaries of the service counter usage and a daily log via email, enabling them to make informed decisions to improve store operations and customer experience.","s":"Tracking utilization of a customer service counter","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#tracking-utilization-of-a-customer-service-counter","p":137},{"i":141,"t":"Groundlight SDK with Python 3.8 or higher A supported USB or network-connected camera An email account with SMTP access to send the daily log","s":"Requirements","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#requirements","p":137},{"i":143,"t":"Ensure you have Python 3.8 or higher installed, and then install the Groundlight SDK, OpenCV library, and other required libraries: pip install groundlight opencv-python pillow","s":"Installation","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#installation","p":137},{"i":145,"t":"First, log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. Import the required libraries: import time import cv2 import smtplib from groundlight import Groundlight from PIL import Image from datetime import datetime, timedelta from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText Define a function to capture an image from the camera using OpenCV: def capture_image(): cap = cv2.VideoCapture(0) ret, frame = cap.read() cap.release() if ret: # Convert to PIL image return Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) else: return None Define a function to send the daily log via email. You will need to customize this for your particular network environment. def send_email(sender, receiver, subject, body): msg = MIMEMultipart() msg['From'] = sender msg['To'] = receiver msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) server = smtplib.SMTP('smtp.example.com', 587) server.starttls() server.login(sender, \"your-password\") text = msg.as_string() server.sendmail(sender, receiver, text) server.quit() Define when your business's operating hours are: START_OF_BUSINESS = 9 # e.g. 9am END_OF_BUSINESS = 17 # e.g. 5pm def is_within_business_hours(): current_hour = datetime.now().hour return START_OF_BUSINESS <= current_hour < END_OF_BUSINESS Write the main application loop: gl = Groundlight() detector = gl.get_or_create_detector( name=\"counter-in-use\", query=\"Is there a customer at the service counter?\", # We can get away with relatively low confidence since we're aggregating confidence_threshold=0.8) DELAY = 60 log = [] daily_log = [] next_hourly_start = datetime.now().replace(minute=0, second=0, microsecond=0) + timedelta(hours=1) while True: if not is_within_business_hours(): time.sleep(DELAY) continue image = capture_image() if not image: print(\"Failed to capture image\") time.sleep(DELAY) continue try: iq = gl.submit_image_query(image=image, detector=detector, wait=60) except Exception as e: print(f\"Error submitting image query: {e}\") time.sleep(DELAY) continue answer = iq.result.label log.append(answer) if datetime.now() >= next_hourly_start: next_hourly_start += timedelta(hours=1) percent_in_use = (log.count(\"YES\") / len(log)) * 100 current_time = datetime.now().replace(hour=START_OF_BUSINESS, minute=0, second=0) formatted_time = current_time.strftime(\"%I%p\") # like 3pm msg = f\"Hourly summary for {formatted_time}: {percent_in_use:.0f}% counter in use\" print(msg) daily_log.append(msg) log = [] current_hour = datetime.now().hour if current_hour == END_OF_BUSINESS and not daily_log == []: daily_summary = \"Daily summary:\\n\" for msg in daily_log: daily_summary += f\"{msg}\\n\" print(daily_summary) send_email(sender=\"counterbot@example.com\", receiver=\"manager@example.com\", subject=\"Daily Service Counter Usage Log\", body=daily_summary) daily_log = [] time.sleep(DELAY) This application captures an image using the capture_image function, then submits it to the Groundlight API for analysis. If a customer is detected at the counter, it logs the event. Every hour, it prints a summary of the counter's usage percentage, and at the end of the day, it emails the daily log using the send_email function. Save the script as service_counter_monitor.py and run it: python service_counter_monitor.py","s":"Creating the Application","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#creating-the-application","p":137},{"i":147,"t":"Here is a whimsical example of how you could use Groundlight in your home to keep your dog off the couch. This document will guide you through creating a complete application. If the dog is detected on the couch, the application will play a pre-recorded sound over the computer's speakers, instructing the dog to get off the couch. Be sure to record your own voice so that your dog pays attention to you.","s":"A Fun Example: Dog-on-Couch Detector","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"","p":146},{"i":149,"t":"Groundlight SDK with Python 3.8 or higher A supported USB or network-connected camera A pre-recorded sound file (e.g., get_off_couch.mp3) A couch and a dog are recommended for proper end-to-end testing.","s":"Requirements","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#requirements","p":146},{"i":151,"t":"Ensure you have Python 3.8 or higher installed, and then install the Groundlight SDK and OpenCV library: pip install groundlight opencv-python pillow pyaudio","s":"Installation","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#installation","p":146},{"i":153,"t":"First, log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. Import the required libraries: import time import cv2 from groundlight import Groundlight from PIL import Image import pyaudio import wave Define a function to capture an image from the camera using OpenCV: def capture_image(): cap = cv2.VideoCapture(0) ret, frame = cap.read() cap.release() if ret: # Convert to PIL image return Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) else: return None Define a function to play the pre-recorded sound: def play_sound(file_path): CHUNK = 1024 wf = wave.open(file_path, 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data: stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() Write the main application loop: gl = Groundlight() detector = gl.get_or_create_detector(\"Dog on Couch Detector\") while True: image = capture_image() if image: try: iq = gl.submit_image_query(image=image, detector=detector, wait=60) answer = iq.result.label if answer == \"YES\": print(\"Dog detected on the couch!\") play_sound(\"get_off_couch.mp3\") except Exception as e: print(f\"Error submitting image query: {e}\") else: print(\"Failed to capture image\") # Sleep for a minute before checking again time.sleep(60) This application captures an image using the capture_image function, then submits it to the Groundlight API for analysis. If the dog is detected on the couch, it plays the pre-recorded sound using the play_sound function. Save the script as dog_on_couch_detector.py and run it: python dog_on_couch_detector.py","s":"Creating the Application","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#creating-the-application","p":146},{"i":156,"t":"With Groundlight's detectors, you can ask binary questions about images — i.e., the answer should be unambiguously \"YES\" or \"NO\". If you ask an ambiguous question, you may receive an \"UNSURE\" response. detector = gl.get_or_create_detector( name=\"Conveyor belt boxes\", query=\"Are there any cardboard boxes on the conveyor belt?\" ) image_query = gl.submit_image_query(detector=detector, image=some_image) # The SDK can return \"YES\" or \"NO\" (or \"UNSURE\") print(f\"The answer is {image_query.result.label}\") So, what makes a good question? Let's look at a few good ✅, moderate 🟡, and bad ❌ examples!","s":"Introduction","u":"/python-sdk/docs/getting-started/writing-queries","h":"#introduction","p":154},{"i":159,"t":"This question is binary and can be answered unambiguously with a simple \"YES\" or \"NO\" based on the image content.","s":"✅ Are there any cardboard boxes on the conveyor belt?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-are-there-any-cardboard-boxes-on-the-conveyor-belt","p":154},{"i":161,"t":"This question is okay, but it could be rephrased to be more specific. For example, \"Is the black trash can more than 80% full?\" tip With Groundlight, your questions may be routed to a machine learning model or a human reviewer. One way to improve your questions is to think, \"If I saw this question for the first time, would I know precisely what the person was trying to convey?\"","s":"🟡 Is the trash can full?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-trash-can-full","p":154},{"i":163,"t":"The query is very specific about what \"YES\" means. According to this query, any slight / partial opening would be considered \"NO\".","s":"✅ Is the garage door completely closed?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-garage-door-completely-closed","p":154},{"i":165,"t":"This question is somewhat ambiguous. Different people may have different opinions on what is nice weather. Instead, you might ask \"Can you see any clouds in the sky?\"","s":"🟡 Is the weather nice out?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-weather-nice-out","p":154},{"i":167,"t":"This is not a binary question — \"YES\" and \"NO\" don't make sense in this context. Also, it's not clear what the \"thing\" refers to.","s":"❌ Where is the thing?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-where-is-the-thing","p":154},{"i":169,"t":"While this question is binary, \"cleanliness\" can be somewhat subjective. An improved version could be: \"Are there any visible spills or clutter on the factory floor?\"","s":"🟡 Is the factory floor clean and organized?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-factory-floor-clean-and-organized","p":154},{"i":172,"t":"To use the Groundlight SDK or API, you need a security token which we call an \"API Token.\" These authenticate you to Groundlight and authorize your code to use services in your account. API tokens look like api_2GdXMflhJ... and consist of a ksuid (a kind of sortable UUID) followed by a secret string.","s":"About API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#about-api-tokens","p":170},{"i":174,"t":"You should treat API tokens like passwords. Never check them directly into your code or share them. Please use best security practices with your API tokens, because if anybody gets your API token, they have nearly full control over your Groundlight account. Here are some best practices for handling API tokens: Store API tokens in a secure location, such as an encrypted vault. Use environment variables to store API tokens, rather than hardcoding them in your application. Limit the number of people who have access to API tokens. Rotate API tokens regularly and revoke old ones when they are no longer needed.","s":"Handling API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#handling-api-tokens","p":170},{"i":176,"t":"There are a couple of ways the SDK can find your API token: Environment variable (recommended): As a best practice, we recommend storing API tokens in the environment variable GROUNDLIGHT_API_TOKEN. This helps avoid accidentally committing the token to your code repository. The SDK will automatically look for the API token there, so you don't have to put it in your code at all. from groundlight import Groundlight # looks for API token in environment variable GROUNDLIGHT_API_TOKEN gl = Groundlight() Constructor argument: Alternatively, you can pass the API token directly to the Groundlight constructor. However, be cautious not to commit this code to your repository. from groundlight import Groundlight token = get_token_from_secure_location() gl = Groundlight(api_token=token)","s":"Using API Tokens with the SDK","u":"/python-sdk/docs/getting-started/api-tokens","h":"#using-api-tokens-with-the-sdk","p":170},{"i":178,"t":"You can manage your API tokens from the Groundlight dashboard at https://dashboard.groundlight.ai/reef/my-account/api-tokens.","s":"Creating and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-and-revoking-api-tokens","p":170},{"i":180,"t":"Log in to your Groundlight account and navigate to the API tokens page. Click the \"Create New API Token\" button. Give the new token a descriptive name, so you can easily identify it later. Click \"Create Token.\" Copy the generated token and store it securely, as you won't be able to see it again. Groundlight does not store a copy of your API tokens.","s":"Creating API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-api-tokens","p":170},{"i":182,"t":"On the API tokens page, you can see a list of your current tokens, along with the following information: Token Name: The descriptive name you assigned when creating the token Snippet (prefix): A short, unique identifier for each token Last used: The date and time the token was last used","s":"Viewing and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#viewing-and-revoking-api-tokens","p":170},{"i":184,"t":"Locate the token you want to revoke in the list. Click the \"Delete\" button next to the token. Confirm that you want to revoke the token. Note: Revoking an API token will immediately invalidate it and prevent any applications using it from accessing your Groundlight account. Be sure to update your applications with a new token before revoking an old one.","s":"To revoke an API token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#to-revoke-an-api-token","p":170},{"i":186,"t":"Explore these GitHub repositories to see examples of Groundlight-powered applications:","s":"Sample Applications","u":"/python-sdk/docs/building-applications/sample-applications","h":"","p":185},{"i":188,"t":"Repository: https://github.com/groundlight/stream The Groundlight Stream Processor is an easy-to-use Docker container for analyzing RTSP streams or common USB-based cameras. You can run it with a single Docker command, such as: docker run stream:local --help","s":"Groundlight Stream Processor","u":"/python-sdk/docs/building-applications/sample-applications","h":"#groundlight-stream-processor","p":185},{"i":190,"t":"Repository: https://github.com/groundlight/esp32cam This sample application allows you to build a working AI vision detector using an inexpensive WiFi camera. With a cost of under $10, you can create a powerful and affordable AI vision system.","s":"Arduino ESP32 Camera Sample App","u":"/python-sdk/docs/building-applications/sample-applications","h":"#arduino-esp32-camera-sample-app","p":185},{"i":192,"t":"Repository: https://github.com/groundlight/raspberry-pi-door-lock This sample application demonstrates how to set up a Raspberry Pi-based door lock system. The application monitors a door and sends a notification if the door is observed to be unlocked during non-standard business hours.","s":"Raspberry Pi","u":"/python-sdk/docs/building-applications/sample-applications","h":"#raspberry-pi","p":185},{"i":194,"t":"Groundlight can be used to apply modern natural-language-based computer vision to industrial and manufacturing applications.","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/building-applications/sample-applications","h":"#industrial-and-manufacturing-applications","p":185},{"i":196,"t":"Welcome to the Groundlight SDK installation guide. In this guide, you'll find step-by-step instructions on how to install and set up the Groundlight SDK on various platforms.","s":"Installation","u":"/python-sdk/docs/installation","h":"","p":195},{"i":198,"t":"Choose your platform from the list below and follow the instructions in the corresponding guide: Linux macOS Windows Raspberry Pi NVIDIA Jetson Linux with Monitoring Notification Server ESP32 Camera Device After completing the installation process for your platform, you'll be ready to start building visual applications using the Groundlight SDK.","s":"Platform-specific Installation Guides","u":"/python-sdk/docs/installation","h":"#platform-specific-installation-guides","p":195},{"i":200,"t":"This guide will help you install the Groundlight SDK on Linux. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on Linux","u":"/python-sdk/docs/installation/linux","h":"","p":199},{"i":202,"t":"Ensure that you have the following installed on your system: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/linux","h":"#prerequisites","p":199},{"i":204,"t":"Assuming you have Python 3.8 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/linux","h":"#basic-installation","p":199},{"i":206,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#installing-groundlight-sdk","p":199},{"i":208,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\"","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/linux","h":"#checking-groundlight-sdk-version","p":199},{"i":210,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#upgrading-groundlight-sdk","p":199},{"i":212,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.8\" or higher (e.g., \"3.8.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/linux","h":"#getting-the-right-python-version","p":199},{"i":214,"t":"Use your distribution's package manager to install the latest Python version: For Ubuntu or Debian-based systems: sudo apt update sudo apt install python3 (For Ubuntu 18.04 see note below.) For Fedora-based systems: sudo dnf install python3 For Arch Linux: sudo pacman -S python After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on Linux","u":"/python-sdk/docs/installation/linux","h":"#upgrading-python-on-linux","p":199},{"i":216,"t":"Ubuntu 18.04 still uses python 3.6 by default, which is end-of-life. We generally recommend using python 3.10. If you know how to install py3.10, please go ahead. But the easiest version of python 3 to use with Ubuntu 18.04 is python 3.8, which can be installed as follows without adding any extra repositories: # Prepare Ubuntu to install things sudo apt-get update # Install the basics sudo apt-get install -y python3.8 python3.8-distutils curl # Configure `python3` to run python3.8 by default sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 10 # Download and install pip3.8 curl https://bootstrap.pypa.io/get-pip.py > /tmp/get-pip.py sudo python3.8 /tmp/get-pip.py # Configure `pip3` to run pip3.8 sudo update-alternatives --install /usr/bin/pip3 pip3 $(which pip3.8) 10 # Now we can install Groundlight! pip3 install groundlight","s":"Special note about Ubuntu 18.04","u":"/python-sdk/docs/installation/linux","h":"#special-note-about-ubuntu-1804","p":199},{"i":218,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/linux","h":"#ready-to-go","p":199},{"i":220,"t":"This guide will help you install the Groundlight SDK on macOS. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on macOS","u":"/python-sdk/docs/installation/macos","h":"","p":219},{"i":222,"t":"Ensure that you have the following installed on your system: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/macos","h":"#prerequisites","p":219},{"i":224,"t":"Assuming you have Python 3.8 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/macos","h":"#basic-installation","p":219},{"i":226,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#installing-groundlight-sdk","p":219},{"i":228,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\"","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/macos","h":"#checking-groundlight-sdk-version","p":219},{"i":230,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#upgrading-groundlight-sdk","p":219},{"i":232,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.8\" or higher (e.g., \"3.8.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/macos","h":"#getting-the-right-python-version","p":219},{"i":234,"t":"Download the latest Python installer from the official Python website and run it, or use Homebrew to install Python: brew install python After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on MacOS","u":"/python-sdk/docs/installation/macos","h":"#upgrading-python-on-macos","p":219},{"i":236,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/macos","h":"#ready-to-go","p":219},{"i":239,"t":"The Groundlight SDK is optimized to run on small edge devices. As such, you can use the Groundlight SDK without installing large libraries like numpy or OpenCV. But if you're already installing them, we'll use them. Our SDK detects if these libraries are installed and will make use of them if they're present. If not, we'll gracefully degrade, and tell you what's wrong if you try to use these features.","s":"Smaller is better!","u":"/python-sdk/docs/installation/optional-libraries","h":"#smaller-is-better","p":237},{"i":241,"t":"The PIL library offers a bunch of standard utilities for working with images in python. The Groundlight SDK can work without PIL. Because PIL is not very large, and is quite useful, we install it by default with the normal build of the Groundlight SDK. So when you pip3 install groundlight it comes with the pillow version of the PIL library already installed.","s":"PIL - optional but default installed","u":"/python-sdk/docs/installation/optional-libraries","h":"#pil---optional-but-default-installed","p":237},{"i":243,"t":"If you are extremely space constrained, you can install the Groundlight SDK from source without PIL and it will work properly, but with reduced functionality. Specifically, you will need to convert your images into JPEG format yourself. The SDK normally relies on PIL to do JPEG compression (which is a non-trivial algorithm), and the API requires images to be in JPEG format. However on space-constrained platforms, sometimes this conversion is done in hardware, and so we don't want to force you to install PIL if you don't need it.","s":"Working without PIL","u":"/python-sdk/docs/installation/optional-libraries","h":"#working-without-pil","p":237},{"i":245,"t":"These commonly-used libraries are not installed by default, because they are quite large, and their installation can often cause conflicts with other dependent libraries. If you want to use them, install them directly.","s":"Numpy, OpenCV - fully optional","u":"/python-sdk/docs/installation/optional-libraries","h":"#numpy-opencv---fully-optional","p":237},{"i":247,"t":"A quick example to get used to setting up detectors and asking good questions: set up a monitor on a live stream.","s":"A Quick Example: Live Stream Alert","u":"/python-sdk/docs/getting-started/streaming","h":"","p":246},{"i":249,"t":"Groundlight SDK with Python 3.8 or higher The video ID of a YouTube live stream you'd like to monitor","s":"Requirements","u":"/python-sdk/docs/getting-started/streaming","h":"#requirements","p":246},{"i":251,"t":"Ensure you have Python 3.8 or higher installed, and then install the Groundlight SDK and OpenCV library: # MacOS brew install ffmpeg # Ubuntu/Fedora linux sudo apt install -y ffmpeg pip install groundlight pillow ffmpeg yt-dlp typer","s":"Installation","u":"/python-sdk/docs/getting-started/streaming","h":"#installation","p":246},{"i":253,"t":"Save this command as a shell script get_latest_frame.sh: #!/bin/bash ffmpeg -i \"$(yt-dlp -g $1 | head -n 1)\" -vframes 1 last.jpg -y This will download the most recent frame from a YouTube live stream and save it to a local file last.jpg. Ensure that the script has execute permissions. You can add execute permissions using the following command: chmod +x get_latest_frame.sh Log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. import os import subprocess import typer from groundlight import Groundlight from PIL import Image def main(*, video_id: str = None, detector_name: str = None, query: str = None, confidence: float = 0.75, wait: int = 60): \"\"\" Run the script to get the stream's last frame as a subprocess, and submit result as an image query to a Groundlight detector :param video_id: Video ID of the YouTube live stream (the URLs have the form https://www.youtube.com/watch?v=) :param detector_name: Name for your Groundlight detector :param query: Question you want to ask of the stream (we will alert on the answer of NO) \"\"\" gl = Groundlight() detector = gl.get_or_create_detector(name=detector_name, query=query, confidence_threshold=confidence) while True: p = subprocess.run([\"./get_latest_frame.sh\", video_id]) if p.returncode != 0: raise RuntimeError(f\"Could not get image from video ID: {video_id}. Process exited with return code {p.returncode}.\") image = Image.open(\"last.jpg\").convert(\"RGB\") response = gl.submit_image_query(detector=detector, image=image, wait=wait) if response.result.label == \"NO\": os.system(\"say 'Alert!'\") # this may not work on all operating systems if __name__ == \"__main__\": typer.run(main) Save the script as streaming_alert.py in the same directory as get_latest_frame.sh above and run it: python streaming_alert.py --video-id= --detector-name= --query=","s":"Creating the Application","u":"/python-sdk/docs/getting-started/streaming","h":"#creating-the-application","p":246},{"i":255,"t":"This guide will help you install the Groundlight SDK on Raspberry Pi. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on Raspberry Pi","u":"/python-sdk/docs/installation/raspberry-pi","h":"","p":254},{"i":257,"t":"Ensure that you have the following installed on your Raspberry Pi: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/raspberry-pi","h":"#prerequisites","p":254},{"i":259,"t":"Assuming you have Python 3.8 or higher installed on your Raspberry Pi, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/raspberry-pi","h":"#basic-installation","p":254},{"i":261,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip3 install groundlight An ARM-compatible version will automatically get installed. The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/raspberry-pi","h":"#installing-groundlight-sdk","p":254},{"i":263,"t":"If you have docker installed on your Raspberry Pi, you can even just run docker run groundlight/stream as we publish an ARM version of our streaming application to Docker Hub.","s":"Using RTSP Streams","u":"/python-sdk/docs/installation/raspberry-pi","h":"#using-rtsp-streams","p":254},{"i":265,"t":"For a complete end-to-end example of running on a Raspberry Pi, see this GitHub repo.","s":"Sample application","u":"/python-sdk/docs/installation/raspberry-pi","h":"#sample-application","p":254},{"i":267,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/raspberry-pi","h":"#ready-to-go","p":254},{"i":269,"t":"This guide will help you install the Groundlight SDK on NVIDIA Jetson devices. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on NVIDIA Jetson","u":"/python-sdk/docs/installation/nvidia-jetson","h":"","p":268},{"i":271,"t":"Ensure that you have the following installed on your NVIDIA Jetson: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#prerequisites","p":268},{"i":273,"t":"Assuming you have Python 3.8 or higher installed on your NVIDIA Jetson, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#basic-installation","p":268},{"i":275,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip3 install groundlight An ARM-compatible version will automatically get installed. The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#installing-groundlight-sdk","p":268},{"i":277,"t":"If you have docker installed on your NVIDIA Jetson, you can even just run docker run groundlight/stream as we publish an ARM version of our streaming application to Docker Hub.","s":"Using RTSP Streams","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#using-rtsp-streams","p":268},{"i":279,"t":"For a complete end-to-end example of running on an NVIDIA Jetson, see this GitHub repo.","s":"Sample application","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#sample-application","p":268},{"i":281,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and [Building Applications","s":"Ready to go!","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#ready-to-go","p":268},{"i":283,"t":"This guide will help you install the Groundlight SDK on Windows. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on Windows","u":"/python-sdk/docs/installation/windows","h":"","p":282},{"i":285,"t":"Ensure that you have the following installed on your system: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/windows","h":"#prerequisites","p":282},{"i":287,"t":"Assuming you have Python 3.8 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/windows","h":"#basic-installation","p":282},{"i":289,"t":"To install the Groundlight SDK using pip, run the following command in your Command Prompt: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#installing-groundlight-sdk","p":282},{"i":291,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\"","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/windows","h":"#checking-groundlight-sdk-version","p":282},{"i":293,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#upgrading-groundlight-sdk","p":282},{"i":295,"t":"To check your installed Python version, open a Command Prompt and run: python --version If you see a version number starting with \"3.8\" or higher (e.g., \"3.8.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/windows","h":"#getting-the-right-python-version","p":282},{"i":297,"t":"Download the latest Python installer from the official Python website and run it. After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on Windows","u":"/python-sdk/docs/installation/windows","h":"#upgrading-python-on-windows","p":282},{"i":299,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/windows","h":"#ready-to-go","p":282},{"i":301,"t":"Groundlight supplies a tool for no-code deployment of a detector to an ESP32 Camera board. You can find it at https://iot.groundlight.ai/espcam.","s":"No-Code IoT Deployment","u":"/python-sdk/docs/iot","h":"","p":300},{"i":303,"t":"This tool is designed to make it as easy as possible to deploy your Groundlight detector on an ESP32 Camera Board. You can deploy your detector in just a few clicks. Go to https://iot.groundlight.ai/espcam Plug your ESP32 Camera Board into your computer with a USB cable. Click through the steps to upload your detector to your ESP32 Camera Board. When prompted, allow your browser access to the serial port, so that it can program the device. If you don't see a prompt like this, try using a current version of Chrome or another browser that supports Web Serial.","s":"Easy Deployment","u":"/python-sdk/docs/iot","h":"#easy-deployment","p":300},{"i":305,"t":"The tool supports the following notification options for your deployed detector: Email SMS (With Twilio) Slack","s":"Notification Options","u":"/python-sdk/docs/iot","h":"#notification-options","p":300},{"i":307,"t":"Tested with the following boards. Many other ESP32 boards should work as well, but may require building the firmware from source and changing the IO pin definitions. M5Stack ESP32 PSRAM Timer Camera [purchase here] M5Stack ESP32 PSRAM Timer Camera X [purchase here] ESP32-CAM [purchase here] SeeedStudio ESP32S3 Sense [purchase here]","s":"Multiple Supported Boards","u":"/python-sdk/docs/iot","h":"#multiple-supported-boards","p":300},{"i":309,"t":"The source code is written as an Arduino-based PlatformIO project for ESP32, and is available on GitHub at https://github.com/groundlight/esp32cam If you need assistance or have questions about integrating Groundlight with Arduino, please consider opening an issue on the GitHub repository or reaching out to our support team.","s":"Source Code","u":"/python-sdk/docs/iot","h":"#source-code","p":300},{"i":311,"t":"This is the easiest way to deploy your Groundlight detectors on a linux computer. All configuration is done through a web user interface, and no code development is required.","s":"Monitoring Notification Server","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"","p":310},{"i":313,"t":"Internet- connected linux computer Video source (USB camera or RTSP stream) Groundlight API Key (available from groundlight.ai)","s":"Prerequisites","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#prerequisites","p":310},{"i":315,"t":"Our Monitoring Notification Server is a server you can deploy anywhere to easily build Groundlight Detectors, and configure them to pull from custom image sources and post notifications. The Monitoring Notification Server has a simple web interface (depected below) that allows you to configure your detector(s), and a backend that runs on your device to pull images from your camera and post notifications.","s":"Using the Application","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#using-the-application","p":310},{"i":319,"t":"There are several ways to deploy the code: Using Docker Compose Using AWS Greengrass Using Kubernetes","s":"Running the server","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-the-server","p":310},{"i":321,"t":"Use the file docker-compose.yml. Run docker-compose up in the same directory as the docker-compose.yml file. If you're using Docker Compose v2, replace docker-compose with docker compose.","s":"Running with Docker Compose","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-docker-compose","p":310},{"i":323,"t":"32-bit arm requires different binary images. Use the slightly different docker-compose-armv7.yml. Run docker-compose -f docker-compose-armv7.yml up. If you're using Docker Compose v2, replace docker-compose with docker compose.","s":"Running from Docker Compose on 32-bit ARM (armv7)","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-from-docker-compose-on-32-bit-arm-armv7","p":310},{"i":325,"t":"Before creating the component, run sudo usermod -aG docker ggc_user on your Greengrass device to allow the Greengrass service to access the host's Docker daemon. Create a new Greengrass Component Select \"Enter recipe as YAML\" Paste the YAML from greengrass-recipe.yaml into the text box Click \"Create component\" Click \"Deploy\" to deploy the component to your Greengrass group","s":"Running with AWS Greengrass","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-aws-greengrass","p":310},{"i":327,"t":"We recommend a minimal Kubernetes install like k3s. Use kubernetes.yaml manifest. Create a Kubernetes cluster and install kubectl on your machine. Run kubectl apply -f kubernetes.yaml in the same directory as the kubernetes.yaml file.","s":"Running with Kubernetes","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-kubernetes","p":310},{"i":329,"t":"Install Node.js and Python 3.8+. git clone https://github.com/groundlight/monitoring-notification-server cd monitoring-notification-server npm install npm run dev Open http://localhost:3000 with your browser to see the result. The FastApi server will be running on http://0.0.0.0:8000 – feel free to change the port in package.json (you'll also need to update it in next.config.js).","s":"Building from Source","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#building-from-source","p":310}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,0.308,1,1.283,2,1.778,3,1.584,4,3.032,5,1.778,6,1.003,7,1.283,8,1.075,9,1.778,10,1.283,11,1.584,12,1.366,13,4.034,14,2.482,15,1.778,16,1.165,17,2.396,18,1.36,19,1.584,20,1.22,21,1.584,22,1.037,23,1.283,24,1.584,25,1.778,26,1.283,27,1.118,28,1.778,29,1.778,30,2.08,31,4.17,32,1.778,33,2.86,34,1.778,35,1.778,36,1.709,37,3.963,38,3.032,39,1.143,40,2.482,41,1.283,42,1.778,43,2.7,44,1.778,45,1.778,46,1.778,47,2.188,48,1.778,49,1.778,50,1.778,51,0.892,52,1.36,53,1.165,54,1.778,55,1.709,56,1.709,57,3.963,58,3.244,59,3.032,60,1.709,61,4.17,62,4.058,63,1.584,64,1.584,65,1.778,66,1.36,67,1.075,68,1.584,69,1.833,70,1.475,71,1.778,72,1.778,73,1.778,74,1.36,75,1.584,76,1.778,77,1.584,78,1.778,79,0.971,80,1.778,81,1.456,82,1.778,83,1.778,84,0.971,85,3.58,86,1.165,87,1.075,88,1.778,89,1.778,90,1.36,91,2.318,92,1.584,93,1.283,94,1.778,95,1.283,96,2.08,97,1.709,98,1.36,99,1.456,100,2.718,101,1.165,102,2.642,103,4.215,104,1.22,105,1.584,106,1.584,107,1.778,108,1.283,109,1.778,110,1.778,111,4.17,112,4.17,113,1.584,114,2.482,115,2.86,116,1.456,117,0.657,118,1.003,119,1.36,120,2.482,121,1.778,122,1.283,123,1.778,124,1.118,125,1.22,126,1.778,127,1.778,128,1.075,129,1.778,130,1.778,131,2.188,132,1.778,133,1.22,134,1.778,135,1.778,136,1.778,137,1.584,138,3.032,139,2.318,140,2.318,141,1.36,142,1.118,143,1.118,144,1.709,145,1.584,146,1.456,147,2.7,148,2.482,149,1.778,150,1.778,151,1.778,152,1.778,153,0.715,154,1.22,155,1.778,156,1.778,157,1.778,158,0.487,159,2.7,160,1.987,161,2.08,162,1.778,163,1.778,164,1.778,165,1.584,166,1.778,167,1.778,168,1.401,169,1.778,170,1.778,171,1.584,172,1.118,173,1.778,174,1.778,175,1.36,176,1.584,177,1.584,178,1.456,179,1.778,180,1.36]],["t/5",[6,0.692,7,0.886,10,1.582,13,3.486,17,2.185,30,1.504,47,0.886,55,0.692,60,1.675,62,0.742,67,0.742,69,1.797,70,2.748,74,0.938,84,0.67,86,1.437,87,0.742,93,0.886,95,0.886,96,0.842,97,1.236,102,1.373,103,1.437,108,0.886,114,1.795,115,0.886,117,0.81,122,0.886,124,0.771,140,0.938,143,0.771,144,0.692,153,0.493,154,0.842,161,3.668,180,2.272,181,0.742,182,0.862,183,1.093,184,1.004,185,0.842,186,0.742,187,1.197,188,2.958,189,1.227,190,3.859,191,0.842,192,1.093,193,1.227,194,0.716,195,1.677,196,1.227,197,1.004,198,1.378,199,1.227,200,0.886,201,1.953,202,1.582,203,2.192,204,1.093,205,2.971,206,1.953,207,1.437,208,2.192,209,2.192,210,1.227,211,2.432,212,2.272,213,0.938,214,1.227,215,1.227,216,2.037,217,1.373,218,0.886,219,1.093,220,0.804,221,1.227,222,1.093,223,3.041,224,1.227,225,1.947,226,2.919,227,1.227,228,1.093,229,0.842,230,1.004,231,1.093,232,1.227,233,2.192,234,1.227,235,1.227,236,1.227,237,1.227,238,0.938,239,1.093,240,1.227,241,2.971,242,1.004,243,0.692,244,0.742,245,1.093,246,1.227,247,1.004,248,2.956,249,1.953,250,1.093,251,1.093,252,0.938,253,0.938,254,4.376,255,1.968,256,1.227,257,1.227,258,1.004,259,1.677,260,1.227,261,1.227,262,2,263,0.613,264,1.227,265,2.646,266,1.227,267,1.093,268,1.004,269,1.093,270,1.227,271,5.035,272,1.227,273,1.227,274,1.227,275,2.608,276,3.218,277,1.227,278,1.227,279,1.227,280,1.227,281,0.54,282,2.192,283,1.227,284,1.795,285,0.716,286,2.192,287,1.227,288,1.227,289,1.227,290,1.227,291,0.886,292,1.227,293,0.842,294,1.227,295,1.093,296,0.938,297,1.227,298,1.227,299,0.938,300,2.192,301,2.646,302,3.026,303,4.096,304,1.227,305,1.227,306,1.227,307,1.227,308,1.227,309,1.227,310,1.227,311,1.227,312,1.227,313,1.227,314,1.953,315,1.227,316,1.227,317,1.093,318,3.218,319,1.677,320,1.004,321,1.227,322,1.227,323,1.227,324,1.227,325,1.093,326,1.953,327,1.093,328,1.227,329,1.227,330,1.227,331,1.227,332,1.227,333,1.227,334,1.227,335,1.004,336,1.227,337,0.804,338,1.227,339,1.093,340,0.886,341,1.227,342,1.227,343,1.227,344,1.093,345,1.227,346,0.67,347,1.227,348,1.227,349,1.227,350,2.971,351,1.227,352,2.192,353,2.038,354,1.227,355,0.938,356,1.227,357,1.004,358,1.227,359,2.192,360,1.227,361,1.004,362,1.004,363,1.093,364,1.227,365,1.093,366,1.795,367,1.227,368,1.227,369,3.614,370,0.804,371,0.804,372,1.227,373,1.227,374,0.938,375,1.795,376,1.093,377,1.093,378,1.004,379,1.227,380,1.004,381,1.227,382,1.227,383,1.093,384,1.227,385,0.938,386,1.227,387,1.227,388,1.227,389,0.938,390,1.227,391,1.953,392,1.227,393,1.227,394,1.227,395,1.227,396,1.227,397,0.938,398,1.093,399,1.004,400,1.093,401,1.004,402,1.227]],["t/7",[13,1.148,17,1.427,55,2.735,85,1.805,97,1.33,98,1.805,104,1.619,124,1.483,160,3.662,161,2.633,211,3.142,216,1.33,223,1.973,225,3.662,243,1.33,248,1.18,255,1.118,258,1.932,262,1.48,285,3.844,293,2.633,296,1.805,301,2.102,302,1.427,337,1.547,339,2.102,344,2.102,346,2.095,355,2.935,357,3.971,370,1.547,371,2.515,385,1.805,403,2.36,404,2.633,405,3.142,406,1.932,407,4.977,408,2.36,409,2.36,410,4.274,411,4.574,412,2.102,413,2.36,414,2.36,415,2.36,416,2.36,417,2.102,418,5.312,419,1.805,420,2.102,421,2.36,422,2.36,423,2.36,424,5.686,425,3.71,426,3.838,427,4.574,428,1.805,429,2.36,430,2.36,431,2.102,432,2.935,433,3.328,434,1.703,435,5.312,436,2.935,437,2.36,438,1.619,439,2.102,440,1.805,441,2.36,442,2.36,443,2.36,444,3.838,445,2.36,446,4.438,447,1.919,448,3.971,449,2.36,450,1.932,451,1.932,452,2.102,453,2.36,454,2.36,455,2.36,456,2.36,457,2.36,458,2.36,459,2.36,460,3.142,461,2.36,462,2.36,463,2.36,464,3.838,465,3.838,466,1.932,467,4.851,468,3.418,469,3.142,470,2.36,471,1.932,472,1.805,473,1.932,474,2.102,475,1.932,476,0.928,477,1.932,478,2.36,479,2.102,480,1.619,481,2.102,482,1.932,483,2.36,484,2.36]],["t/9",[1,1.046,13,4.199,17,0.876,53,1.664,55,1.432,90,1.108,92,1.29,96,2.794,97,1.432,98,3.899,104,1.742,122,1.046,142,3.453,143,2.131,144,3.097,147,2.262,160,3.035,161,0.994,186,0.876,187,0.791,190,2.447,197,1.186,200,1.046,211,1.186,212,1.108,220,2.222,223,3.889,226,1.481,230,2.079,244,0.876,245,1.29,248,2.036,252,1.942,254,2.079,262,1.034,271,1.186,275,1.833,281,0.638,284,1.186,285,2.375,302,3.322,303,1.186,318,3.02,319,5.475,340,1.833,346,1.387,355,1.108,362,2.079,366,3.791,370,2.222,375,2.775,383,3.02,389,1.108,404,0.994,405,1.186,406,1.186,410,1.942,411,2.079,418,1.108,427,1.186,428,1.108,434,2.447,435,3.114,438,0.994,446,3.965,451,1.186,460,1.186,468,3.02,475,2.079,476,0.57,477,1.186,481,1.29,485,1.449,486,1.449,487,1.29,488,1.449,489,1.108,490,1.29,491,6.736,492,1.449,493,1.449,494,2.939,495,1.449,496,2.54,497,1.449,498,2.326,499,2.54,500,1.29,501,4.073,502,1.449,503,1.29,504,0.994,505,1.742,506,4.541,507,1.29,508,1.449,509,1.29,510,3.39,511,1.449,512,1.29,513,2.54,514,1.29,515,3.02,516,3.02,517,1.449,518,3.39,519,4.073,520,4.497,521,1.449,522,2.54,523,1.29,524,2.262,525,2.54,526,1.29,527,1.536,528,1.449,529,0.994,530,0.92,531,3.39,532,2.54,533,1.449,534,1.449,535,1.449,536,3.02,537,1.449,538,2.54,539,2.54,540,2.54,541,3.02,542,1.449,543,1.29,544,1.29,545,1.186,546,1.449,547,1.29,548,0.791,549,1.449,550,0.845,551,4.632,552,2.326,553,1.449,554,1.449,555,1.108,556,1.29,557,1.046,558,1.449,559,1.29,560,1.449,561,1.449,562,1.29]],["t/11",[0,0.395,13,4.047,16,2.546,22,2.266,52,2.971,79,2.121,100,2.665,101,5.066,102,3.363,128,2.349,142,4.859,144,3.178,180,2.971,216,2.19,217,1.795,223,3.975,230,3.18,258,3.18,285,2.266,296,4.311,319,4.311,320,3.18,370,2.546,371,2.546,434,2.804,471,3.18,476,1.528,482,3.18,494,2.804,541,3.459,547,3.459,552,2.665,557,2.804,563,5.431,564,3.884,565,2.971,566,2.971,567,3.459,568,3.884,569,3.884,570,2.971,571,2.804,572,4.552,573,5.021,574,3.18,575,3.884,576,2.665,577,3.884,578,3.884,579,3.884,580,2.665,581,2.971,582,3.459,583,3.884,584,3.459,585,3.884]],["t/13",[1,1.162,13,2.408,36,0.908,39,0.607,47,2.01,51,0.474,55,2.074,62,0.974,87,0.974,93,3.163,97,1.57,100,1.105,101,3.244,102,3.086,103,1.056,104,1.105,108,1.162,124,1.012,128,2.224,133,1.105,142,4.337,143,2.312,144,3.626,154,1.91,158,0.441,160,1.825,172,1.012,181,0.974,182,0.633,188,1.318,190,1.162,198,1.012,213,2.813,216,0.908,223,1.432,225,1.056,226,2.146,243,1.57,247,1.318,248,1.839,262,2.345,275,2.01,276,1.434,281,1.225,285,2.146,296,2.13,302,2.993,340,1.162,346,0.879,357,1.318,370,1.056,375,1.318,377,1.434,406,1.318,407,1.434,410,1.232,411,1.318,418,1.232,424,2.279,425,2.13,427,1.318,428,1.232,432,4.143,433,1.91,434,2.01,435,1.232,436,1.232,438,1.91,440,2.813,446,3.163,452,1.434,472,2.13,476,0.633,489,1.232,494,1.162,504,2.523,509,1.434,512,1.434,536,2.48,552,2.523,556,1.434,563,2.279,566,1.232,567,1.434,572,2.523,586,1.611,587,1.162,588,1.624,589,1.434,590,2.48,591,2.785,592,1.611,593,1.611,594,1.611,595,1.318,596,1.232,597,1.056,598,1.611,599,3.276,600,2.785,601,1.434,602,3.678,603,1.434,604,1.611,605,1.611,606,1.611,607,1.611,608,1.318,609,1.611,610,2.13,611,1.056,612,1.611,613,1.611,614,5.783,615,1.611,616,2.785,617,1.434,618,0.879,619,3.902,620,1.318,621,1.611,622,1.611,623,1.611,624,2.48,625,1.611,626,2.279,627,1.611,628,3.678,629,1.611,630,1.611,631,1.611,632,1.105,633,2.279,634,0.726,635,0.434,636,2.785,637,1.611,638,1.611,639,2.785,640,1.611,641,1.611,642,1.611,643,1.056,644,1.611,645,1.611,646,1.434,647,0.908,648,1.611,649,1.434,650,1.611,651,1.611,652,1.162,653,1.611,654,1.162,655,1.611,656,1.318,657,0.62,658,1.611,659,2.655,660,1.611,661,1.318,662,1.611,663,1.611,664,3.111,665,1.611,666,2.785,667,1.611,668,1.318,669,1.611,670,1.434,671,2.48,672,1.611,673,1.611,674,1.611,675,1.611]],["t/15",[13,3.259,55,3.776,97,1.847,102,1.514,124,2.06,142,4.21,143,3.772,144,4.059,159,4.425,160,2.147,165,2.918,168,1.514,180,2.506,187,1.789,191,2.248,223,3.086,226,3.501,238,2.506,248,1.638,262,2.311,275,2.365,284,2.682,285,2.898,302,3.629,335,2.682,340,2.365,410,3.8,412,2.918,417,2.918,418,4.59,424,2.682,425,2.506,428,2.506,432,3.8,436,2.506,440,3.8,476,1.954,489,2.506,494,3.586,504,3.408,555,2.506,572,2.248,588,1.911,614,5.122,619,2.918,620,2.682,624,2.918,626,2.682,676,3.277,677,2.506,678,3.277,679,2.248,680,3.277,681,2.918,682,2.918,683,2.06,684,3.277,685,3.277,686,4.332,687,4.913,688,3.277,689,3.277,690,2.682,691,2.506,692,3.277,693,3.277,694,3.277,695,2.918,696,3.277,697,3.277,698,3.277,699,3.277,700,3.277]],["t/17",[13,1.475,39,1.143,51,0.892,60,1.709,62,1.833,96,2.08,101,4.556,102,3.958,103,3.068,124,2.943,140,4.919,142,4.619,143,4.619,144,1.709,145,2.7,153,1.218,158,0.831,220,1.987,229,2.08,255,1.437,262,0.925,281,1.334,285,1.769,317,2.7,320,2.482,346,1.655,380,2.482,400,2.7,434,2.188,489,3.581,515,2.7,516,2.7,527,1.833,550,1.769,572,5.427,584,2.7,589,4.17,597,1.987,599,2.7,603,2.7,610,3.581,614,2.319,654,4.643,668,2.482,691,2.319,701,4.17,702,3.032,703,4.643,704,2.482,705,2.7,706,6.822,707,4.682,708,1.769,709,2.7,710,2.7,711,4.682,712,3.032,713,3.032,714,3.032,715,3.032,716,2.482,717,4.682,718,4.682,719,3.032,720,3.032,721,3.032,722,3.032,723,2.482,724,4.682,725,4.374,726,3.032]],["t/19",[13,3.542,41,3.656,47,2.426,60,2.856,62,3.686,63,2.994,67,2.033,68,4.511,91,5.567,97,2.856,182,1.322,190,2.426,195,3.874,216,1.895,223,3.134,226,3.556,254,2.752,262,2.706,265,6.814,291,5.731,293,3.475,314,4.511,326,4.511,327,4.511,371,3.32,436,3.874,479,5.429,574,2.752,671,4.511,727,4.511,728,2.752,729,3.362,730,2.752,731,2.994,732,3.362,733,3.362,734,3.362,735,6.785,736,5.066,737,3.362,738,3.362,739,3.362,740,2.306,741,3.362,742,3.362,743,5.066,744,3.362,745,3.362,746,2.994,747,3.362,748,3.362,749,3.362,750,3.362,751,3.362]],["t/21",[13,2.659,17,1.151,41,3.945,55,2.759,60,1.811,62,2.959,91,1.456,96,1.306,97,1.811,100,1.306,101,1.247,102,0.879,104,1.306,122,1.374,128,1.942,140,1.456,142,3.726,143,3.726,144,2.349,153,0.765,154,1.306,160,1.247,168,1.484,175,1.456,181,1.151,190,1.374,223,0.979,226,2.854,242,1.558,248,1.605,262,2.649,267,4.868,271,2.629,275,2.318,281,0.837,285,2.854,302,1.942,303,4.474,340,2.318,346,1.039,370,2.105,438,1.306,440,4.18,446,1.374,447,0.951,448,2.629,451,1.558,469,1.558,472,2.456,476,1.263,482,2.629,544,3.71,557,2.318,572,4.895,574,2.629,576,1.306,588,1.11,610,2.456,614,4.18,620,1.558,654,1.374,682,1.695,695,2.86,701,1.695,703,1.374,709,1.695,710,1.695,716,1.558,725,1.456,727,4.868,746,4.868,752,1.695,753,1.695,754,1.903,755,1.903,756,1.903,757,1.903,758,3.212,759,3.212,760,3.212,761,3.212,762,4.166,763,3.212,764,4.166,765,1.903,766,1.903,767,1.903,768,1.903,769,1.903,770,1.903,771,1.903,772,3.212,773,2.629,774,3.212,775,1.903,776,1.903,777,1.903,778,1.903,779,1.903,780,1.695,781,3.212,782,1.247,783,1.903,784,1.695,785,1.558,786,0.718,787,1.558,788,1.695,789,1.903,790,1.903,791,1.903,792,1.695,793,1.903,794,1.695,795,1.903,796,1.903,797,4.166,798,1.903,799,1.903,800,1.903,801,1.903,802,1.558,803,1.247,804,1.695,805,1.456,806,1.903,807,1.903,808,1.903,809,3.212,810,1.903,811,1.903,812,1.903,813,1.695,814,1.903,815,1.903]],["t/23",[13,3.14,21,2.312,39,0.979,51,0.764,85,1.985,86,2.716,87,1.57,100,2.843,101,2.716,102,1.915,103,1.701,122,1.873,133,1.781,143,1.631,144,2.337,158,0.711,160,3.87,161,4.72,168,1.915,188,2.125,202,1.873,204,2.312,212,1.985,217,1.199,223,1.335,244,2.506,248,1.298,252,1.985,262,2.419,269,2.312,302,1.57,319,3.956,371,1.701,378,2.125,389,3.956,425,3.169,431,2.312,432,3.956,435,1.985,438,1.781,446,2.991,450,2.125,460,2.125,473,2.125,475,4.234,476,2.034,480,1.781,503,2.312,504,1.781,559,2.312,572,1.781,573,2.312,588,1.514,626,2.125,654,1.873,670,4.607,706,2.312,802,2.125,805,1.985,813,2.312,816,1.985,817,2.596,818,2.312,819,2.596,820,2.312,821,2.596,822,2.596,823,5.749,824,2.596,825,4.144,826,2.125,827,1.985,828,2.596,829,2.125,830,2.596,831,2.596,832,2.596,833,2.596,834,2.596,835,2.596,836,2.596,837,2.596,838,2.596,839,2.596,840,2.596,841,2.596,842,4.144,843,2.596,844,2.596,845,2.596,846,4.144,847,2.312,848,2.596,849,5.173,850,2.596,851,2.596,852,2.596,853,2.596,854,2.596,855,2.596,856,2.596,857,4.144,858,5.173,859,2.596,860,1.701,861,2.596,862,2.596,863,2.596,864,2.596,865,2.596,866,2.596,867,2.312,868,2.596,869,2.125]],["t/25",[0,0.412,1,2.926,3,3.611,8,2.452,13,2.828,14,3.319,17,3.516,22,2.365,31,5.178,33,2.926,39,1.529,43,3.611,51,1.711,62,3.516,66,3.1,74,3.1,75,3.611,79,2.213,100,3.988,102,2.686,103,4.455,104,4.663,111,3.611,112,3.611,113,3.611,114,3.319,119,3.1,131,2.926,139,3.1,146,3.319,148,3.319,153,1.629,172,2.548,187,2.213,226,2.365,346,2.213,374,3.1,378,3.319,397,3.1,610,3.1,632,2.781,704,3.319,725,3.1,818,3.611,870,4.054,871,3.611,872,4.054,873,2.781,874,4.054,875,4.054,876,3.611,877,4.054,878,3.319,879,4.054,880,4.054,881,4.054,882,4.054,883,4.054,884,3.611,885,4.054,886,4.054,887,3.319,888,4.054,889,3.611,890,4.054,891,4.054,892,4.054]],["t/27",[6,3.264,7,4.178,13,2.816,62,3.501,161,3.971,176,5.156,177,6.595,419,4.427,668,4.739,681,5.156,893,5.789,894,5.789,895,5.789,896,5.789,897,5.789,898,5.789,899,5.156,900,5.156,901,5.156,902,5.156,903,5.789,904,5.789,905,5.789,906,5.789,907,5.789,908,5.789,909,5.789,910,5.789,911,5.789]],["t/29",[47,3.274,60,3.548,96,3.111,98,3.469,117,1.676,144,4.074,285,3.671,325,4.039,346,2.476,355,3.469,371,2.972,380,3.713,448,3.713,469,6.389,476,1.784,520,5.151,543,4.039,557,3.274,617,4.039,716,3.713,787,3.713,794,6.951,829,3.713,847,4.039,912,4.536,913,4.536,914,4.536,915,4.536,916,4.536,917,7.226,918,4.536,919,4.536,920,4.536,921,4.536,922,6.436,923,6.293,924,5.604,925,4.536,926,4.536,927,6.293,928,4.039,929,4.039,930,4.536]],["t/31",[10,4.159,13,3.806,39,1.51,51,1.178,52,3.062,60,3.249,62,2.421,79,3.146,97,2.258,101,4.424,102,3.119,103,4.424,142,4.243,144,4.411,153,1.609,182,1.575,223,3.796,229,2.747,285,3.361,335,3.278,337,2.624,374,3.062,520,6.044,557,2.89,563,4.717,571,2.89,582,3.566,647,2.258,731,3.566,784,3.566,786,2.173,787,3.278,788,3.566,792,3.566,802,3.278,899,3.566,900,3.566,901,3.566,902,3.566,931,5.762,932,4.004,933,3.566,934,4.004,935,4.004,936,2.747,937,2.89,938,4.004,939,5.762,940,3.278,941,4.004]],["t/33",[0,0.775,12,1.69,39,2.072,81,3.069,119,2.868,158,1.028,187,2.047,218,2.706,243,2.114,302,2.268,404,4.461,447,2.746,476,1.475,529,2.572,647,2.114,679,2.572,942,5.475,943,2.868,944,3.34,945,2.706,946,3.769,947,3.601,948,5.791,949,3.34,950,3.34,951,3.34,952,3.069,953,2.706,954,2.868,955,2.572,956,2.357,957,2.357,958,2.572,959,3.34,960,3.34,961,3.34,962,3.34,963,2.868,964,3.34,965,2.538,966,2.746,967,0.808,968,3.069,969,3.34,970,3.453,971,3.34,972,1.507,973,2.706,974,3.34,975,4.893,976,3.34,977,3.069,978,3.069,979,2.868,980,2.868,981,2.047,982,2.047,983,4.893,984,1.69,985,2.706,986,2.868,987,2.706,988,3.34,989,2.357,990,2.868,991,2.572,992,2.457,993,3.34,994,2.706,995,3.069,996,3.34]],["t/35",[0,0.732,12,1.71,39,2.09,81,3.105,119,2.901,158,1.04,187,2.071,218,2.738,243,2.139,302,2.294,404,3.801,447,2.77,476,1.492,529,2.602,647,2.139,679,2.602,942,5.505,943,2.901,944,3.379,945,2.738,946,3.801,947,3.631,948,5.83,949,3.379,950,3.379,951,3.379,952,3.105,953,2.738,954,2.901,955,2.602,956,2.384,957,2.384,958,2.602,959,3.379,960,3.379,961,3.379,962,3.379,963,2.901,964,3.379,965,2.56,966,2.77,967,0.817,968,3.105,969,3.379,970,3.483,971,3.379,972,1.524,973,2.738,974,3.379,975,4.935,976,3.379,977,3.105,978,3.105,979,2.901,980,2.901,981,2.071,982,2.071,983,4.935,984,1.71,985,2.738,986,2.901,987,2.738,988,3.379,989,2.384,990,2.901,991,2.602,992,2.486,993,3.379,994,2.738,995,3.105,996,3.379]],["t/37",[0,0.68,39,1.483,158,1.077,198,2.471,216,2.217,249,3.501,370,2.576,433,2.697,447,1.965,480,2.697,506,3.501,529,2.697,566,3.007,634,1.772,785,3.218,804,3.501,826,3.218,942,3.007,945,2.838,946,5.022,947,4.378,956,3.574,957,3.574,972,2.285,991,2.697,997,3.501,998,3.501,999,4.655,1000,5.109,1001,3.501,1002,3.501,1003,2.471,1004,2.697,1005,3.007,1006,4.349,1007,2.838,1008,3.931,1009,3.007,1010,5.687,1011,3.931,1012,3.931,1013,4.349,1014,5.687,1015,4.822,1016,2.843,1017,3.501,1018,3.931,1019,5.95,1020,2.843,1021,3.931,1022,3.931,1023,3.931,1024,3.218,1025,3.931,1026,3.931,1027,3.931,1028,3.501,1029,3.931,1030,3.501,1031,3.931]],["t/39",[0,0.682,6,1.584,8,2.668,16,1.841,20,1.927,39,1.664,40,2.299,41,2.027,60,1.584,79,1.534,95,2.027,117,1.038,118,1.584,191,1.927,216,1.584,404,3.026,476,2.428,480,1.927,587,2.027,596,2.148,597,1.841,683,1.766,708,1.638,724,4.459,947,2.891,956,4.68,957,4.475,963,3.374,970,2.773,972,1.129,977,3.611,980,3.374,981,2.974,982,2.974,984,1.988,986,3.374,987,3.184,989,1.766,990,2.148,991,4.234,1000,2.148,1004,1.927,1006,3.374,1007,2.027,1015,4.455,1016,1.404,1032,2.299,1033,1.766,1034,2.809,1035,2.148,1036,2.502,1037,2.299,1038,2.148,1039,1.841,1040,2.146,1041,2.809,1042,3.026,1043,3.929,1044,2.809,1045,2.502,1046,2.809,1047,2.502,1048,2.299,1049,2.027,1050,2.148,1051,2.809,1052,2.809,1053,3.929,1054,2.809,1055,2.809,1056,2.502,1057,3.929,1058,2.502,1059,2.299,1060,2.502,1061,2.809,1062,2.502,1063,4.412,1064,2.502,1065,2.148,1066,1.699,1067,3.611,1068,2.809,1069,1.18,1070,1.766,1071,3.184,1072,3.929,1073,2.148,1074,2.809,1075,2.027,1076,1.584,1077,1.766,1078,2.809,1079,2.148,1080,2.809,1081,2.809,1082,2.809,1083,2.809]],["t/41",[0,0.476,12,1.366,17,1.075,20,1.22,23,1.283,30,1.22,56,1.003,58,1.456,60,1.709,61,1.584,70,1.475,84,0.971,87,1.075,102,1.401,116,1.456,117,2.256,118,2.962,133,1.22,153,0.715,158,0.831,168,0.822,200,1.283,202,1.283,217,1.401,243,1.003,248,1.981,263,3.215,476,1.558,480,2.718,571,1.283,576,2.08,656,2.482,683,1.118,728,1.456,780,1.584,946,1.22,947,4.215,954,1.36,955,1.22,956,1.118,957,1.118,967,0.383,970,1.906,972,2.298,981,0.971,982,0.971,984,1.366,986,4.919,987,2.86,989,1.906,990,1.36,991,4.189,1001,1.584,1004,2.08,1006,3.58,1007,1.283,1015,3.792,1016,0.889,1036,1.584,1042,1.22,1043,1.584,1047,1.584,1048,1.456,1049,1.283,1050,3.031,1053,1.584,1058,1.584,1062,1.584,1065,2.318,1066,3.177,1067,3.832,1070,2.491,1071,3.792,1084,1.584,1085,2.7,1086,2.482,1087,1.584,1088,1.778,1089,1.778,1090,2.482,1091,1.584,1092,1.584,1093,1.456,1094,1.36,1095,1.778,1096,1.22,1097,2.718,1098,1.778,1099,1.778,1100,1.584,1101,1.456,1102,1.118,1103,1.778,1104,1.778,1105,1.36,1106,1.778,1107,1.778,1108,5.254,1109,1.456,1110,2.188,1111,1.584,1112,1.22,1113,1.36,1114,1.118,1115,1.456,1116,1.584,1117,1.778,1118,1.778,1119,1.778,1120,1.584,1121,1.584,1122,1.584,1123,2.7,1124,3.032,1125,1.584,1126,2.482,1127,3.379,1128,1.778,1129,2.7,1130,1.778,1131,1.283,1132,1.778,1133,1.456,1134,2.7,1135,1.456,1136,1.778,1137,3.244,1138,1.778,1139,2.482,1140,1.778,1141,1.778,1142,1.165,1143,1.778,1144,1.778,1145,1.778,1146,1.456,1147,3.963,1148,2.7,1149,1.584,1150,1.584,1151,1.584,1152,1.22,1153,1.584,1154,1.778,1155,1.36,1156,1.584,1157,3.529,1158,2.7,1159,1.584,1160,1.778,1161,1.584,1162,1.778,1163,1.456,1164,1.584,1165,1.584,1166,1.075,1167,1.778,1168,1.283,1169,1.456,1170,1.778,1171,1.584,1172,1.456,1173,1.36,1174,2.7,1175,1.456,1176,1.584,1177,1.584]],["t/43",[0,0.16,18,2.085,39,1.361,40,1.286,60,1.537,67,0.95,79,1.488,87,0.95,91,1.202,93,1.968,117,0.581,124,0.988,125,1.078,168,0.726,181,0.95,187,0.858,194,0.917,197,1.286,201,1.4,217,1.991,225,1.03,229,1.078,262,1.487,263,0.786,374,1.202,405,3.99,472,1.202,476,1.072,487,1.4,524,1.4,529,1.078,550,0.917,552,1.078,562,1.4,576,3.344,581,1.202,596,1.202,597,1.03,657,1.05,659,2.606,664,0.988,703,2.606,705,1.4,724,1.286,730,1.286,829,1.286,867,1.4,929,1.4,945,3.11,946,3.665,947,3.501,955,1.078,956,2.708,957,2.269,965,0.726,966,0.786,968,1.286,970,1.714,972,2.305,973,4.382,985,1.134,987,1.134,991,4.688,999,1.286,1000,1.202,1002,1.4,1006,2.761,1009,1.202,1015,1.968,1016,1.363,1017,1.4,1019,3.838,1020,1.363,1042,1.87,1048,1.286,1050,2.085,1056,1.4,1057,1.4,1064,2.428,1065,4.643,1066,4.357,1070,3.064,1071,2.606,1101,1.286,1114,0.988,1115,1.286,1122,1.4,1135,2.232,1148,1.4,1149,2.428,1153,1.4,1155,1.202,1156,1.4,1166,1.649,1174,3.838,1175,2.955,1176,3.215,1177,3.215,1178,1.572,1179,1.572,1180,1.572,1181,1.572,1182,1.286,1183,1.572,1184,1.4,1185,2.428,1186,1.572,1187,1.572,1188,1.572,1189,1.572,1190,1.572,1191,1.572,1192,1.572,1193,2.232,1194,1.572,1195,1.286,1196,1.134,1197,1.4,1198,1.572,1199,2.726,1200,1.572,1201,1.572,1202,1.572,1203,4.875,1204,1.572,1205,1.572,1206,2.726,1207,1.4,1208,1.4,1209,1.572,1210,1.572,1211,1.572,1212,1.572,1213,1.4,1214,1.572,1215,1.145,1216,1.572,1217,1.572,1218,1.572,1219,2.726,1220,3.61,1221,1.572,1222,1.572,1223,2.726,1224,2.726,1225,1.572,1226,1.572,1227,2.726,1228,1.572,1229,1.572,1230,1.572,1231,1.572,1232,1.572,1233,1.537,1234,0.988,1235,1.572,1236,1.4,1237,1.286,1238,3.61,1239,2.428,1240,1.572,1241,1.572,1242,1.572,1243,1.572,1244,2.428,1245,1.4,1246,2.428,1247,1.4,1248,1.572,1249,1.572,1250,2.726,1251,1.572,1252,1.572,1253,1.572,1254,1.572,1255,1.572,1256,0.988,1257,1.572,1258,1.4,1259,1.4,1260,1.572,1261,0.988,1262,1.572,1263,1.572,1264,1.202,1265,1.572,1266,1.572,1267,1.572,1268,1.4,1269,1.4,1270,1.4,1271,1.572]],["t/45",[0,0.357,17,2.121,22,2.045,30,2.406,39,1.972,102,1.62,117,2.31,124,2.204,148,2.871,168,1.62,191,2.406,194,2.045,217,1.62,248,1.753,255,1.662,259,2.682,353,2.406,366,2.871,398,3.123,447,1.753,595,2.871,601,3.123,652,2.531,940,2.871,945,2.531,946,3.587,947,3.427,953,3.774,956,2.204,957,2.204,992,2.298,1013,3.999,1015,5.002,1016,1.753,1042,2.406,1065,2.682,1066,3.781,1067,6.775,1069,2.197,1070,3.287,1071,3.774,1077,2.204,1125,3.123,1133,2.871,1157,3.123,1158,3.123,1166,2.121,1168,2.531,1169,2.871,1171,3.123,1172,2.871,1173,2.682,1197,3.123,1234,3.287,1237,2.871,1272,3.507,1273,2.045,1274,3.507,1275,5.229,1276,3.162,1277,3.507,1278,3.507,1279,3.507,1280,3.507,1281,3.507,1282,3.507,1283,3.507,1284,2.298,1285,3.507,1286,2.871,1287,3.507,1288,5.229,1289,3.507,1290,3.507,1291,3.507,1292,2.298,1293,3.123]],["t/47",[0,0.741,39,1.735,70,3.091,117,2.348,171,4.097,194,2.683,251,4.097,281,2.024,490,4.097,654,3.32,827,3.518,972,2.925,1003,2.891,1007,4.586,1070,2.891,1075,3.32,1139,3.765,1142,3.014,1161,4.097,1173,3.518,1182,3.765,1244,4.097,1247,4.097,1269,4.097,1292,3.014,1294,4.6,1295,4.097,1296,6.354,1297,5.659,1298,4.6,1299,6.354,1300,3.765,1301,4.6,1302,3.765,1303,4.097,1304,3.765,1305,4.6,1306,4.097,1307,4.6,1308,4.6,1309,4.6,1310,4.6,1311,4.6,1312,4.6,1313,4.6,1314,3.765,1315,4.097,1316,2.782,1317,4.6]],["t/49",[0,0.478,22,2.741,139,3.594,194,2.741,217,2.171,243,2.65,404,3.224,447,2.349,498,4.424,500,4.186,580,3.224,634,2.118,677,3.594,871,4.186,887,3.847,942,3.594,954,3.594,956,4.054,957,2.954,963,3.594,999,3.847,1003,2.954,1091,4.186,1115,3.847,1195,3.847,1233,2.65,1270,4.186,1316,2.842,1318,4.7,1319,4.7,1320,4.7,1321,4.7,1322,4.186,1323,4.7,1324,4.7,1325,4.186,1326,4.7,1327,4.7,1328,4.186,1329,4.186,1330,4.186,1331,3.392,1332,4.186,1333,3.392,1334,3.392,1335,4.7,1336,4.7,1337,4.7,1338,4.7,1339,4.7,1340,4.7,1341,4.7,1342,4.7,1343,4.7]],["t/52",[0,0.788,26,4.976,33,3.744,39,1.956,51,1.526,52,3.967,158,1.422,185,3.559,194,3.026,244,3.137,634,2.338,876,4.62,889,4.62,965,2.397,966,2.593,970,3.261,1033,3.261,1040,3.767,1073,3.967,1100,4.62,1297,4.62,1314,4.246,1322,4.62,1344,4.246,1345,4.246,1346,3.261,1347,3.4,1348,2.338,1349,4.62,1350,2.747,1351,4.976,1352,3.967,1353,3.744,1354,3.559,1355,5.188,1356,5.188,1357,4.62]],["t/54",[0,0.733,128,4.355,226,4.201,244,4.355,1040,4.119,1314,5.895,1358,5.895]],["t/56",[0,0.802,8,3.641,13,1.602,17,1.992,26,2.377,39,1.242,51,0.969,56,1.857,70,2.427,74,3.814,102,2.304,118,3.394,158,1.65,168,1.522,191,2.259,202,2.377,243,1.857,244,1.992,570,2.519,580,2.259,608,2.696,611,2.158,691,2.519,703,2.377,805,2.519,860,3.269,965,2.304,966,2.493,992,2.158,1016,1.646,1038,2.519,1039,2.158,1040,3.693,1073,2.519,1076,2.812,1114,2.07,1166,1.992,1233,1.857,1334,4.345,1345,2.696,1346,3.135,1347,3.269,1350,1.744,1351,3.6,1357,2.933,1359,3.293,1360,3.293,1361,1.242,1362,2.377,1363,3.293,1364,3.293,1365,3.293,1366,2.696,1367,2.07,1368,4.928,1369,2.377,1370,2.933,1371,3.293,1372,3.814,1373,2.696,1374,3.293,1375,3.293,1376,2.933,1377,3.293,1378,4.442,1379,2.696,1380,2.696,1381,2.933,1382,3.269,1383,3.293,1384,3.293,1385,2.933,1386,2.933,1387,3.6,1388,2.696,1389,2.259,1390,3.293,1391,3.293,1392,2.377,1393,2.933]],["t/58",[20,4.403,23,4.633,782,4.206,786,2.42,873,4.403,1304,5.254,1372,4.908,1382,5.61,1394,4.206,1395,4.633,1396,2.069,1397,4.908,1398,6.418,1399,5.254,1400,4.633,1401,6.418,1402,6.418]],["t/60",[0,0.696,10,2.963,22,2.395,51,1.726,116,3.361,117,2.167,118,2.315,220,2.69,248,2.052,263,2.052,391,3.656,419,3.14,507,3.656,523,3.656,647,2.315,664,2.58,708,2.395,873,2.816,952,3.361,967,0.885,972,1.65,973,2.963,981,2.241,982,2.241,994,2.963,1016,2.052,1086,3.361,1127,2.963,1131,2.963,1256,2.58,1369,2.963,1382,5.769,1403,7.317,1404,2.58,1405,4.105,1406,4.941,1407,2.69,1408,2.69,1409,4.105,1410,4.105,1411,4.105,1412,4.105,1413,4.105,1414,6.651,1415,4.105,1416,3.656,1417,3.656,1418,4.105,1419,4.105,1420,3.656,1421,2.816,1422,4.105,1423,3.656,1424,4.105]],["t/62",[0,0.89,51,1.783,262,1.848,635,1.632,657,2.333,967,1.306,1369,4.373,1382,3.971,1403,6.789,1416,5.396,1425,4.96,1426,5.396,1427,2.948,1428,6.059,1429,5.396,1430,6.059,1431,4.156,1432,4.96,1433,5.396,1434,6.059,1435,6.059]],["t/64",[0,0.698,6,4.637,87,3.112,117,2.534,118,4.348,158,1.41,168,2.378,194,3.002,255,2.439,268,4.213,480,3.531,571,3.715,683,3.235,730,4.213,984,2.32,1016,2.573,1050,5.244,1096,3.531,1110,3.715,1112,5.291,1113,5.244,1114,4.31,1344,4.213,1378,4.584,1436,3.531,1437,5.147,1438,4.584,1439,5.147,1440,5.147,1441,5.147,1442,3.531,1443,4.213]],["t/66",[0,0.703,6,3.895,10,2.158,12,1.348,18,2.287,51,1.363,84,1.632,117,1.711,118,1.686,158,1.269,172,1.879,178,2.448,182,1.176,187,1.632,217,2.14,223,1.537,255,1.417,262,2.52,263,2.834,337,1.96,353,2.051,476,1.176,550,1.744,635,0.805,647,1.686,652,2.158,657,2.183,661,3.792,803,1.96,887,2.448,958,3.178,967,0.644,984,2.556,989,2.911,1013,2.287,1110,2.158,1111,5.05,1112,4.38,1113,3.542,1142,1.96,1146,2.448,1163,2.448,1195,2.448,1261,4.013,1284,1.96,1300,2.448,1334,3.343,1352,2.287,1379,2.448,1396,0.964,1436,2.051,1444,2.99,1445,2.287,1446,2.663,1447,2.99,1448,2.99,1449,2.99,1450,2.99,1451,2.99,1452,2.99,1453,2.99,1454,2.99,1455,2.99,1456,2.99,1457,5.05,1458,2.663,1459,2.663,1460,2.99,1461,4.632,1462,2.287,1463,4.125,1464,2.448,1465,2.448,1466,2.448,1467,2.287,1468,2.663,1469,2.051,1470,2.663,1471,2.663,1472,2.663,1473,2.287,1474,3.343,1475,1.808,1476,2.663,1477,2.158,1478,2.663,1479,2.99,1480,2.051,1481,2.663,1482,2.663]],["t/68",[0,0.688,6,3.426,12,1.507,51,0.984,69,2.022,117,2.5,118,1.886,158,0.916,168,3.356,182,1.315,225,2.192,231,5.412,255,1.585,262,2.73,263,3.038,268,4.13,385,2.557,447,1.672,550,2.943,635,0.901,657,1.288,661,2.737,803,3.307,967,0.721,972,2.919,989,2.102,1024,2.737,1076,1.886,1096,2.294,1113,3.859,1114,2.102,1146,2.737,1152,2.294,1164,2.978,1261,3.819,1380,4.13,1396,1.078,1425,4.974,1457,2.978,1459,2.978,1464,2.737,1465,2.737,1475,2.022,1483,2.737,1484,2.978,1485,3.344,1486,5.046,1487,3.344,1488,6.077,1489,3.344,1490,6.768,1491,3.344,1492,2.414,1493,6.077,1494,6.077,1495,5.046,1496,2.978,1497,3.344,1498,2.737]],["t/70",[0,0.825,12,1.616,18,2.741,22,2.091,53,3.483,85,2.741,117,2.588,153,1.44,158,0.982,172,2.253,187,1.957,262,2.741,263,4.055,419,2.741,476,1.41,634,1.616,647,2.021,657,2.046,690,4.35,803,2.349,878,2.934,1105,4.064,1112,2.459,1137,2.934,1261,5.348,1284,2.349,1334,3.836,1379,4.35,1380,5.184,1458,3.192,1464,2.934,1465,2.934,1475,3.83,1476,3.192,1477,2.587,1492,4.571,1496,4.733,1499,3.584,1500,3.584,1501,5.314,1502,3.584,1503,2.741,1504,3.584,1505,3.584,1506,2.091,1507,3.584,1508,3.584,1509,3.584,1510,3.584,1511,3.584]],["t/72",[56,3.888,70,3.355,79,3.765,967,1.486,979,5.273,1506,4.022,1512,6.896,1513,5.644,1514,6.896,1515,4.022,1516,4.977,1517,5.273]],["t/74",[0,0.875,70,2.816,117,2.139,255,2.743,262,2.491,643,3.794,657,2.851,679,5.08,967,1.247,1427,2.816,1506,4.319,1518,5.156,1519,4.178,1520,4.739,1521,4.739,1522,5.789,1523,3.794,1524,5.789,1525,7.405,1526,5.789,1527,5.789]],["t/76",[0,0.643,70,3.529,79,2.494,117,1.687,141,5.547,175,3.493,262,2.594,337,2.993,476,1.796,643,2.993,657,1.759,967,0.984,984,2.85,1070,3.975,1105,3.493,1367,2.871,1462,3.493,1466,3.739,1467,3.493,1468,4.068,1469,3.133,1470,4.068,1471,4.068,1472,4.068,1473,3.493,1474,5.65,1481,4.068,1482,4.068,1513,3.739,1515,3.688,1516,3.297,1517,3.493,1519,3.297,1528,3.133,1529,4.068,1530,6.324,1531,3.133,1532,3.739,1533,3.739,1534,4.068,1535,3.739,1536,4.567,1537,4.068]],["t/78",[0,0.482,70,2.303,86,3.102,117,1.749,141,4.956,244,2.863,262,1.977,337,3.102,361,3.875,473,3.875,634,2.134,649,4.216,657,1.823,967,1.02,1097,3.247,1237,3.875,1350,2.506,1515,2.761,1516,5.334,1517,3.62,1518,4.216,1520,3.875,1531,3.247,1532,5.305,1533,3.875,1537,4.216,1538,4.734,1539,3.875,1540,4.734,1541,4.216,1542,4.734,1543,4.734,1544,4.734,1545,4.734,1546,4.734,1547,4.734,1548,4.734,1549,4.734,1550,4.734,1551,4.734,1552,4.734,1553,6.481,1554,4.734,1555,4.734,1556,4.734,1557,4.734,1558,4.734,1559,4.216,1560,4.734]],["t/80",[0,0.685,51,0.974,70,3.275,79,1.807,86,2.169,97,1.866,117,2.672,141,6.041,158,0.907,182,1.302,217,1.529,255,1.569,262,2.054,295,2.948,361,4.099,362,2.71,363,2.948,498,2.271,581,2.531,588,1.931,596,2.531,933,2.948,943,2.531,967,0.713,997,2.948,1004,2.271,1007,3.614,1030,2.948,1042,3.435,1102,2.081,1105,2.531,1236,4.459,1302,2.71,1346,2.081,1387,2.389,1446,2.948,1480,3.435,1515,3.522,1516,4.359,1517,3.829,1520,2.71,1531,2.271,1532,5.511,1533,5.511,1534,2.948,1535,2.71,1539,2.71,1559,5.378,1561,3.31,1562,3.31,1563,3.31,1564,3.31,1565,3.31,1566,3.31,1567,2.948,1568,3.31,1569,2.271,1570,3.31,1571,5.007,1572,3.31,1573,3.31,1574,2.531,1575,3.31,1576,3.31,1577,5.007,1578,3.31,1579,3.31,1580,3.829,1581,3.31,1582,2.948,1583,2.948,1584,3.31,1585,3.31,1586,3.31]],["t/82",[16,4.591,30,3.646,53,3.483,79,4.278,87,3.214,117,3.078,153,2.136,979,4.065,1004,5.376,1256,3.341,1286,4.351,1315,6.979,1344,4.351,1366,6.415,1367,3.341,1436,4.806,1528,3.646,1587,5.315,1588,7.006,1589,4.734,1590,5.315,1591,3.646,1592,5.315,1593,4.065,1594,7.006]],["t/84",[0,0.64,36,3.549,634,2.837,860,5.115,967,1.356,1016,3.146,1033,3.956,1040,3.062,1069,2.644,1076,3.549,1079,4.813,1166,4.72,1354,4.318,1595,6.294,1596,4.813,1597,6.294,1598,6.294,1599,4.813,1600,4.125]],["t/86",[0,0.618,16,2.192,79,1.826,90,2.557,105,4.494,242,2.737,253,2.557,262,2.703,291,2.414,474,2.978,634,2.274,657,1.943,686,4.885,687,2.737,723,2.737,827,2.557,967,0.721,1016,2.522,1069,2.12,1131,2.414,1151,5.412,1168,2.414,1169,4.974,1376,5.412,1394,3.307,1427,1.627,1596,2.557,1601,2.978,1602,5.412,1603,3.344,1604,2.414,1605,5.046,1606,2.414,1607,2.737,1608,5.046,1609,3.344,1610,3.344,1611,3.344,1612,2.737,1613,3.344,1614,3.344,1615,2.557,1616,2.737,1617,3.344,1618,2.978,1619,3.344,1620,5.046,1621,5.046,1622,3.344,1623,3.344,1624,2.737,1625,5.046,1626,3.344,1627,3.344,1628,3.344,1629,2.978,1630,5.046,1631,3.344,1632,3.344,1633,3.344,1634,2.737,1635,3.344,1636,3.344,1637,3.344,1638,3.344,1639,3.344,1640,2.978,1641,3.344,1642,3.344,1643,2.978,1644,3.344,1645,3.344,1646,3.344,1647,3.344,1648,3.344]],["t/88",[0,0.709,634,3.141,967,1.502,1033,4.381,1079,5.33,1166,4.215,1367,4.381,1600,4.567,1649,6.207,1650,5.03,1651,5.705]],["t/90",[36,3.655,198,4.075,740,4.447,1600,5.209,1602,5.773,1604,4.679,1618,5.773,1652,5.773,1653,6.483,1654,6.483,1655,5.773,1656,6.483,1657,6.483,1658,6.483,1659,6.483,1660,6.483,1661,4.957]],["t/92",[0,0.666,64,5.832,200,4.726,740,4.492,860,5.242,869,5.36,967,1.411,972,3.214,1020,3.273,1037,5.36,1604,4.726,1662,4.726,1663,6.548,1664,5.832,1665,6.548]],["t/94",[39,2.374,686,4.543,728,5.152,972,2.529,1020,3.146,1077,3.956,1093,5.152,1094,4.813,1120,5.606,1172,5.152,1276,3.806,1370,5.606,1600,4.125,1661,4.813,1666,5.115,1667,6.294,1668,5.152,1669,6.294,1670,6.294,1671,6.294]],["t/96",[36,3.515,633,5.103,687,5.103,860,4.085,972,2.505,973,4.499,992,4.085,1020,3.116,1102,3.918,1400,4.499,1600,4.085,1661,5.934,1672,6.234,1673,6.234,1674,6.234,1675,6.234,1676,6.234,1677,6.234,1678,6.234,1679,5.103,1680,5.552]],["t/98",[106,5.66,250,5.66,548,3.47,677,4.86,686,4.587,860,4.165,972,2.554,1013,4.86,1060,5.66,1166,3.843,1469,4.36,1599,4.86,1600,4.165,1668,5.202,1681,6.356,1682,6.356,1683,6.356,1684,6.356,1685,6.356,1686,5.66]],["t/100",[0,0.584,158,1.572,548,4.02,686,4.141,860,4.825,967,1.236,972,2.306,992,3.76,1016,2.868,1020,2.868,1040,2.791,1079,4.388,1166,4.453,1196,4.141,1350,3.038,1361,2.164,1535,4.697,1589,5.11,1599,4.388,1600,3.76,1650,4.141,1651,4.697,1652,5.11,1661,4.388,1687,5.738,1688,5.738,1689,5.738,1690,5.738]],["t/102",[0,0.574,39,2.126,168,2.605,611,3.695,965,3.364,966,3.64,1040,2.743,1049,4.069,1346,3.544,1347,3.695,1351,4.069,1382,3.695,1387,5.255,1388,4.615,1389,3.868,1417,5.021,1691,5.638,1692,4.615,1693,5.638,1694,5.638,1695,5.021,1696,4.069,1697,5.021,1698,5.638,1699,3.695,1700,5.021,1701,5.638,1702,5.638,1703,5.638,1704,5.021]],["t/104",[6,4.037,36,3.098,39,2.072,56,3.098,158,1.506,965,2.539,966,2.747,970,3.454,1028,4.894,1090,5.861,1139,4.498,1258,4.894,1346,3.454,1347,3.601,1443,4.498,1692,4.498,1699,3.601,1705,5.495,1706,5.495,1707,7.16,1708,5.495,1709,5.495,1710,5.495,1711,4.894,1712,5.495,1713,5.495,1714,5.495,1715,5.495,1716,5.495,1717,4.894,1718,5.495,1719,5.495,1720,5.495]],["t/106",[56,3.235,753,6.558,965,2.651,966,2.868,1020,2.868,1090,4.697,1096,3.936,1256,3.606,1346,3.606,1347,3.76,1679,4.697,1680,5.11,1695,5.11,1696,5.315,1699,3.76,1721,5.11,1722,4.697,1723,5.738,1724,5.11,1725,5.738,1726,5.738,1727,5.11,1728,5.738,1729,5.738,1730,5.738,1731,5.738,1732,5.738,1733,5.738,1734,5.11]],["t/108",[56,3.179,182,2.217,471,4.615,611,3.695,785,4.615,965,3.364,966,3.64,1020,2.818,1049,4.069,1193,4.615,1348,2.541,1389,3.868,1399,4.615,1541,5.021,1679,4.615,1699,3.695,1704,7.182,1735,4.615,1736,5.638,1737,5.638,1738,5.638,1739,5.021,1740,5.638,1741,5.638,1742,5.638,1743,5.638,1744,5.638,1745,5.638,1746,5.638]],["t/110",[36,3.072,56,3.072,158,1.493,611,3.571,632,3.738,965,2.517,966,2.724,1084,4.853,1085,4.853,1087,4.853,1389,3.738,1393,4.853,1397,4.167,1431,3.738,1436,3.738,1443,4.46,1513,4.46,1664,4.853,1699,4.667,1700,6.342,1711,4.853,1717,6.342,1727,4.853,1747,5.449,1748,5.449,1749,5.449,1750,3.933,1751,5.449,1752,5.449,1753,5.449,1754,4.46,1755,5.449,1756,5.449,1757,5.449]],["t/112",[39,2.494,56,3.729,243,3.729,965,3.056,966,3.307,1049,4.774,1346,4.158,1347,4.335,1368,5.414,1387,4.774,1389,4.538,1699,4.335,1758,6.615,1759,5.058,1760,6.615,1761,6.615]],["t/114",[0,0.55,12,1.005,13,2.628,22,3.743,23,3.367,33,1.61,39,1.759,53,1.462,77,3.264,84,2.001,102,3.488,115,1.61,117,2.505,118,2.066,133,1.53,153,0.896,192,1.986,194,1.301,217,1.03,238,1.705,248,2.332,255,1.057,262,2.068,263,2.701,291,1.61,346,1.218,353,1.53,397,2.803,399,1.826,447,1.115,527,2.216,530,1.956,550,1.301,566,1.705,580,2.514,595,1.826,608,1.826,611,1.462,632,1.53,634,1.652,657,1.796,703,3.367,805,3.568,873,3.2,955,1.53,970,1.402,994,1.61,1005,1.705,1097,1.53,1114,3.396,1123,1.986,1134,1.986,1137,1.826,1165,1.986,1168,1.61,1234,1.402,1261,1.402,1264,1.705,1273,1.301,1292,1.462,1300,3,1348,1.005,1353,2.645,1372,3.568,1373,3,1427,1.085,1445,4.564,1475,2.216,1477,2.645,1480,1.53,1492,1.61,1506,1.301,1519,1.61,1523,1.462,1583,1.986,1615,1.705,1650,1.61,1750,1.61,1762,1.986,1763,1.826,1764,4.131,1765,2.23,1766,1.986,1767,1.705,1768,2.23,1769,1.986,1770,1.826,1771,2.23,1772,3.264,1773,3.665,1774,1.03,1775,2.23,1776,3,1777,1.986,1778,2.23,1779,2.23,1780,2.23,1781,2.23,1782,1.986,1783,1.986,1784,2.23,1785,1.986,1786,2.23,1787,2.23,1788,3.264,1789,2.803,1790,1.986,1791,2.23,1792,1.986,1793,1.986,1794,2.23,1795,2.23,1796,2.23,1797,1.986,1798,2.23,1799,3.665,1800,2.23,1801,2.23,1802,2.23,1803,2.23,1804,2.23,1805,2.23,1806,2.23,1807,3.665,1808,1.986,1809,2.23]],["t/117",[0,0.785,12,3.476,51,2.018,128,3.112,153,2.068,247,4.213,262,2.092,263,3.428,476,2.024,477,4.213,527,3.112,656,5.613,657,1.982,683,3.235,1175,4.213,1234,4.31,1350,2.725,1392,3.715,1427,2.504,1523,3.373,1662,3.715,1754,4.213,1810,5.147,1811,5.147,1812,7.325,1813,5.147,1814,3.936,1815,3.936,1816,4.213,1817,4.584,1818,5.147,1819,5.147]],["t/119",[0,0.911,12,3.21,262,2.566,657,2.742,1427,3.465,1820,7.122]],["t/121",[0,0.841,8,4.556,99,6.167,262,2.736,552,4.08,657,2.29,1114,4.735,1142,3.898,1354,5.672,1427,2.894,1821,5.297,1822,5.948,1823,5.297,1824,5.297,1825,5.948,1826,5.297]],["t/123",[0,0.845,51,1.766,95,4.333,115,4.333,154,4.118,253,4.591,255,3.591,262,2.312,263,3.788,527,3.63,657,2.311,1233,3.385,1234,3.773,1261,3.773,1414,5.346,1427,2.921,1475,3.63,1478,5.346,1519,4.333,1827,5.346,1828,6.003]],["t/125",[0,0.841,99,6.167,262,2.736,552,4.08,657,2.29,1114,4.735,1142,3.898,1354,5.672,1427,2.894,1821,5.297,1823,5.297,1824,5.297,1826,5.297,1829,7.534,1830,5.948,1831,5.948]],["t/127",[0,0.745,22,2.293,53,2.576,69,3.439,102,1.816,115,4.104,117,2.468,118,2.217,125,2.697,158,1.077,181,2.377,186,2.377,213,3.007,217,1.816,238,3.007,259,4.349,262,2.369,263,1.965,291,2.838,397,3.007,498,2.697,634,1.772,643,2.576,657,2.572,723,3.218,873,2.697,953,2.838,1003,2.471,1150,3.501,1163,3.218,1166,2.377,1168,2.838,1316,2.377,1373,3.218,1427,1.913,1475,3.439,1477,2.838,1483,3.218,1484,3.501,1506,2.293,1519,2.838,1523,2.576,1531,2.697,1668,3.218,1754,3.218,1764,3.007,1770,4.655,1777,3.501,1782,3.501,1783,3.501,1788,3.501,1814,3.007,1816,3.218,1832,3.931,1833,3.931,1834,3.501,1835,3.931,1836,3.931,1837,3.931,1838,3.931,1839,3.218,1840,3.218,1841,3.218,1842,3.931,1843,3.931,1844,3.931,1845,3.931]],["t/130",[0,0.814,84,3.026,117,2.048,125,3.802,262,2.677,635,1.939,657,2.134,965,2.56,966,2.77,1033,3.483,1316,3.351,1348,2.498,1352,4.238,1367,3.483,1427,2.696,1475,3.351,1492,4,1521,4.536,1523,3.632,1789,4.238,1840,4.536,1841,4.536,1846,5.542,1847,4.936,1848,4.936,1849,3.802,1850,4.936,1851,4.936]],["t/132",[6,2.454,7,3.142,22,3.567,39,1.642,70,2.975,84,2.377,93,4.414,102,2.825,108,3.142,117,1.608,118,3.448,181,4.275,182,1.712,216,2.454,217,2.825,220,2.853,259,3.329,371,2.853,447,2.176,530,1.576,677,3.329,869,3.563,873,4.849,878,3.563,965,2.011,966,2.176,994,3.142,1097,2.986,1102,2.736,1264,3.329,1292,2.853,1348,1.962,1353,3.142,1367,2.736,1368,3.563,1372,3.329,1643,3.877,1696,3.142,1750,3.142,1763,3.563,1766,3.877,1767,3.329,1769,3.877,1772,3.877,1834,3.877,1852,4.353,1853,4.353,1854,4.353,1855,6.115,1856,4.353,1857,3.877,1858,4.353,1859,4.353,1860,4.353,1861,3.563,1862,4.353]],["t/134",[26,4.633,56,3.619,158,1.759,217,2.965,691,4.908,1045,5.716,1264,4.908,1382,4.206,1699,4.206,1767,4.908,1770,5.254,1863,6.418,1864,6.418,1865,5.716,1866,6.418,1867,5.716,1868,6.418,1869,6.418,1870,6.418]],["t/136",[0,0.859,84,2.442,117,1.653,153,1.797,182,1.759,216,2.522,248,2.236,262,2.489,530,1.62,635,2.089,657,1.722,786,1.687,967,0.964,1069,2.618,1215,1.879,1273,2.609,1316,2.705,1350,3.3,1352,3.421,1394,2.931,1396,2.01,1421,3.068,1427,2.176,1431,3.068,1432,3.661,1433,3.984,1475,2.705,1492,3.228,1521,3.661,1523,2.931,1634,3.661,1789,3.421,1840,3.661,1841,3.661,1847,3.984,1848,3.984,1849,3.068,1850,3.984,1851,3.984,1871,1.687,1872,4.473,1873,2.522,1874,3.984,1875,2.609,1876,4.473,1877,3.421,1878,6.232]],["t/139",[0,0.381,12,1.69,14,4.497,33,1.655,36,1.293,41,1.655,51,1.399,58,1.877,66,1.754,108,1.655,120,5.617,168,1.059,172,1.441,182,0.902,198,2.357,217,1.059,218,3.433,243,1.293,255,1.087,420,2.042,526,2.042,530,0.83,571,3.433,588,1.338,633,1.877,664,1.441,679,1.573,704,1.877,708,1.338,740,1.573,922,2.042,924,3.339,965,1.059,972,2.434,978,1.877,984,1.69,985,3.965,989,1.441,1005,1.754,1009,1.754,1020,1.146,1024,1.877,1032,1.877,1035,1.754,1092,2.042,1097,1.573,1127,5.347,1193,3.069,1239,2.042,1245,2.042,1276,2.267,1293,2.042,1306,2.042,1325,3.339,1328,2.042,1351,1.655,1396,0.739,1399,1.877,1445,2.867,1596,1.754,1666,2.457,1686,2.042,1692,1.877,1722,3.069,1724,2.042,1734,2.042,1739,2.042,1750,2.706,1839,1.877,1879,4.756,1880,4.756,1881,6.376,1882,2.293,1883,2.293,1884,2.293,1885,2.293,1886,2.042,1887,2.042,1888,2.042,1889,1.573,1890,2.042,1891,3.069,1892,3.749,1893,3.749,1894,3.749,1895,2.042,1896,5.617,1897,3.749,1898,2.293,1899,2.293,1900,1.877,1901,3.749,1902,2.293,1903,2.293,1904,2.293,1905,2.293,1906,2.293,1907,2.293,1908,2.293,1909,2.293,1910,2.293,1911,3.749,1912,2.293,1913,4.756,1914,2.293,1915,2.293,1916,2.293,1917,3.749,1918,2.293,1919,3.749,1920,2.293,1921,2.293,1922,2.042,1923,3.749,1924,1.754,1925,2.293,1926,2.293,1927,2.293,1928,2.293,1929,3.749,1930,2.293,1931,2.293,1932,1.877,1933,2.293,1934,1.754,1935,2.293,1936,2.293,1937,1.754,1938,2.293]],["t/141",[0,0.666,530,2.371,635,1.763,782,4.291,967,1.411,984,2.951,1070,4.116,1394,4.291,1400,4.726,1591,4.492,1666,4.291,1871,2.469,1891,5.36,1932,5.36,1934,5.007,1937,5.007,1939,6.548]],["t/143",[0,0.809,530,2.347,548,3.539,635,2.141,967,1.397,1396,2.563,1515,4.637,1528,4.447,1569,4.447,1871,2.445,1940,2.171,1941,4.957,1942,3.154,1943,4.957]],["t/145",[0,0.51,12,0.743,51,0.835,66,2.171,84,0.899,102,0.761,117,2.294,120,2.324,137,2.529,158,1.025,181,0.996,182,0.648,183,1.467,185,1.13,195,2.862,213,1.26,217,0.761,218,1.189,223,0.847,225,2.916,262,2.826,263,0.824,389,1.26,399,1.348,550,0.961,635,0.765,657,2.501,659,2.701,664,2.352,773,2.324,786,0.621,803,1.08,816,1.26,928,1.467,958,1.13,972,1.504,984,0.743,985,2.049,989,1.035,1016,0.824,1069,1.193,1070,1.035,1077,1.785,1109,1.348,1110,1.189,1112,1.13,1127,2.049,1131,1.189,1196,2.049,1350,0.872,1353,1.189,1400,1.189,1421,1.13,1427,0.801,1431,1.13,1462,1.26,1467,1.26,1473,2.171,1474,1.189,1498,1.348,1506,1.656,1515,0.961,1523,1.08,1569,1.13,1574,1.26,1604,1.189,1606,1.189,1607,1.348,1612,1.348,1615,1.26,1616,2.324,1624,1.348,1666,3.595,1776,1.348,1857,1.467,1875,0.961,1877,2.171,1881,3.963,1886,1.467,1887,1.467,1888,1.467,1889,1.13,1890,1.467,1891,3.063,1900,1.348,1937,1.26,1941,1.26,1944,1.647,1945,2.839,1946,1.647,1947,1.647,1948,2.839,1949,1.647,1950,1.647,1951,3.333,1952,1.467,1953,2.529,1954,1.467,1955,1.467,1956,1.467,1957,1.467,1958,1.647,1959,1.647,1960,3.742,1961,1.647,1962,3.742,1963,1.647,1964,1.647,1965,1.647,1966,1.647,1967,1.647,1968,1.647,1969,1.647,1970,1.647,1971,1.647,1972,1.647,1973,1.647,1974,1.647,1975,1.647,1976,1.647,1977,1.467,1978,2.839,1979,1.647,1980,1.647,1981,3.742,1982,1.647,1983,1.647,1984,2.839,1985,4.449,1986,2.839,1987,1.647,1988,1.647,1989,1.647,1990,1.647,1991,1.647,1992,1.647,1993,4.449,1994,3.742,1995,1.647,1996,2.839,1997,1.647,1998,2.839,1999,4.449,2000,3.742,2001,1.467,2002,1.467,2003,1.467,2004,1.467,2005,1.647,2006,1.647,2007,1.647,2008,1.647,2009,1.647,2010,1.647,2011,1.647,2012,1.647,2013,2.839,2014,1.647,2015,1.647,2016,1.647,2017,1.647,2018,1.647,2019,1.647,2020,2.839,2021,1.647,2022,1.647,2023,1.647,2024,1.647,2025,1.647,2026,1.647,2027,1.647,2028,1.348,2029,1.647,2030,1.647,2031,1.647,2032,2.839]],["t/147",[0,0.564,51,1.631,187,3.026,216,3.125,255,2.626,433,3.802,972,2.893,1662,4,1735,4.536,2028,4.536,2033,5.542,2034,5.542,2035,5.542,2036,6.93,2037,6.546,2038,5.542,2039,3.483,2040,4.536,2041,4.536,2042,4.536,2043,4.536,2044,5.542,2045,5.542,2046,5.542,2047,4.936,2048,5.542,2049,5.542,2050,5.542,2051,5.542]],["t/149",[0,0.628,530,2.236,635,1.663,725,4.722,967,1.33,984,2.783,1077,3.881,1400,4.456,1591,4.236,1849,4.236,1871,2.328,1889,5.291,1932,5.054,1934,4.722,2036,5.054,2037,5.054,2041,5.054,2042,5.054,2043,5.054,2052,6.174,2053,5.499,2054,6.174]],["t/151",[0,0.814,530,2.371,548,3.575,635,2.154,967,1.411,1396,2.579,1515,4.665,1528,4.492,1871,2.469,1940,2.193,1942,3.186,1943,5.007,2055,5.832]],["t/153",[0,0.655,12,1.862,69,1.563,84,2.255,117,2.767,158,1.414,181,1.563,185,1.774,195,3.159,207,1.694,217,1.194,223,1.329,225,3.862,262,2.643,263,1.292,504,1.774,550,1.508,555,1.977,635,1.112,657,2.776,659,2.982,664,2.597,786,0.975,803,1.694,816,1.977,958,1.774,972,2.073,984,1.165,1009,1.977,1069,1.735,1097,3.539,1109,2.116,1110,1.866,1112,1.774,1131,1.866,1196,2.982,1350,1.369,1353,1.866,1421,1.774,1427,1.258,1462,1.977,1463,2.303,1467,1.977,1473,3.159,1474,1.866,1480,1.774,1498,2.116,1506,2.41,1515,1.508,1569,1.774,1574,1.977,1604,1.866,1606,1.866,1612,2.116,1615,1.977,1616,3.381,1624,2.116,1666,1.694,1735,2.116,1875,1.508,1877,3.159,1941,1.977,1951,4.595,1952,2.303,1953,3.679,1954,2.303,1955,2.303,1956,2.303,1957,2.303,2001,2.303,2002,2.303,2003,2.303,2004,2.303,2028,3.381,2036,2.116,2037,4.223,2041,3.381,2042,3.381,2043,3.381,2055,2.303,2056,2.585,2057,2.585,2058,2.585,2059,2.585,2060,2.585,2061,2.585,2062,2.585,2063,2.585,2064,2.585,2065,2.585,2066,2.585,2067,2.585,2068,4.131,2069,2.585,2070,2.585,2071,2.585,2072,2.585,2073,2.585,2074,2.585,2075,2.585,2076,1.977,2077,2.585,2078,2.585,2079,2.585,2080,4.131]],["t/156",[8,2.884,12,2.149,27,4.094,56,2.689,67,2.884,69,3.939,70,2.32,84,3.556,125,3.271,191,3.271,226,2.782,252,3.647,262,2.739,450,3.903,505,4.468,664,2.997,967,1.027,1333,3.442,1475,2.884,1580,3.647,1607,3.903,1629,4.247,1763,5.332,1764,3.647,1789,3.647,1839,3.903,2081,5.332,2082,4.247,2083,4.247,2084,4.769,2085,6.514,2086,6.514,2087,4.769,2088,4.769,2089,4.769,2090,4.247,2091,4.769,2092,4.769,2093,4.769]],["t/159",[27,4.477,67,4.307,69,4.307,117,2.631,168,3.291,194,4.154,1420,6.343,2082,6.343,2094,7.122]],["t/161",[0,0.569,6,3.152,7,4.034,23,4.034,27,4.551,39,2.73,146,4.575,181,3.38,217,2.582,229,3.834,255,2.649,353,3.834,365,4.978,476,2.198,491,4.978,580,3.834,581,4.275,740,3.834,1133,4.575,1333,5.226,1750,4.034,1767,4.275,1785,4.978,1790,4.978,1827,4.978,2095,5.59,2096,5.59,2097,5.59,2098,5.59,2099,5.59,2100,5.59]],["t/163",[11,6.141,69,4.17,262,2.104,263,4.125,498,4.73,740,4.73,1121,6.141,2101,6.896,2102,6.896,2103,6.896,2104,6.141]],["t/165",[16,5.34,27,4.244,153,2.713,647,3.807,940,5.527,1059,5.527,1861,5.527,2081,5.527,2083,6.014,2105,6.752,2106,6.752,2107,6.752,2108,6.752]],["t/167",[27,4.334,67,4.17,69,4.17,198,4.334,212,5.273,262,2.104,401,5.644,679,4.73,937,4.977,1093,5.644,2109,6.896,2110,6.896]],["t/169",[27,4.334,67,4.17,1059,5.644,1215,2.897,1385,6.141,2111,6.896,2112,6.896,2113,6.896,2114,6.896,2115,6.896,2116,6.896,2117,6.896]],["t/172",[0,0.758,51,2.191,182,2.297,253,4.467,634,2.633,782,3.828,967,1.259,1069,3.444,1135,4.781,1580,4.467,1875,4.344,2118,5.202,2119,5.841,2120,5.841,2121,3.293,2122,5.841,2123,5.841,2124,5.841,2125,5.841,2126,5.841,2127,5.841,2128,5.841,2129,5.841,2130,5.841]],["t/174",[0,0.455,24,3.984,36,2.522,51,1.834,55,2.522,184,3.661,187,2.442,206,3.984,216,2.522,228,3.984,353,3.068,611,2.931,634,2.016,643,2.931,782,2.931,827,3.421,955,3.068,972,1.797,992,2.931,1069,3.714,1184,3.984,1233,2.522,1394,2.931,1431,3.068,1650,4.498,1651,5.102,1759,3.421,1762,3.984,1861,3.661,1875,2.609,1896,5.102,2118,3.984,2121,4.887,2131,4.473,2132,4.473,2133,4.473,2134,4.473,2135,4.473,2136,4.473,2137,4.473,2138,4.473,2139,4.473,2140,4.473,2141,4.473,2142,4.473,2143,3.984]],["t/176",[0,0.85,1,3.121,95,3.121,128,2.615,262,2.332,385,3.307,634,3.175,643,2.834,657,2.344,937,3.121,967,1.311,1035,3.307,1069,3.384,1292,2.834,1425,3.54,1426,5.421,1427,2.961,1431,4.832,1432,5.765,1503,3.307,1580,3.307,1634,4.982,1650,3.121,1655,3.851,1875,4.875,2053,3.851,2121,2.438,2144,4.324,2145,4.324,2146,4.324,2147,4.324,2148,4.324,2149,4.393,2150,4.324,2151,4.324,2152,4.324,2153,4.324,2154,4.324,2155,4.324]],["t/178",[0,0.733,1069,3.025,1101,5.895,1421,4.94,2121,4.774,2156,7.201,2157,7.201]],["t/180",[0,0.724,153,2.19,219,4.853,555,4.167,590,4.853,632,3.738,782,3.571,1069,3.332,1213,6.342,1234,4.476,1350,3.77,1354,3.738,1381,4.853,1666,3.571,1722,4.46,1808,4.853,1815,4.167,1875,4.906,1896,5.829,2121,4.015,2158,5.449,2159,5.446,2160,4.853,2161,4.853,2162,5.449]],["t/182",[60,3.235,153,2.306,217,2.651,576,5.051,588,4.295,1069,2.41,1155,4.388,1276,3.47,1354,3.936,1361,2.164,1662,4.141,1815,5.631,1867,5.11,1875,5.004,2121,4.151,2161,5.11,2163,4.697,2164,5.738,2165,5.738,2166,5.738,2167,5.738,2168,5.738,2169,5.738,2170,5.738]],["t/184",[0,0.564,158,1.519,184,4.536,476,2.18,527,4.354,550,3.233,690,4.536,782,3.632,1040,3.503,1069,2.328,1152,3.802,1208,4.936,1234,3.483,1480,3.802,1531,3.802,1875,5.118,2047,4.936,2143,6.412,2159,4.238,2160,4.936,2163,4.536,2171,5.542,2172,5.542,2173,5.542,2174,7.2,2175,5.542,2176,5.542]],["t/186",[0,0.733,153,2.894,226,4.201,1040,3.504,1331,5.198,1345,5.895,1358,5.895,1922,6.414]],["t/188",[0,0.616,30,4.156,36,3.416,51,1.783,90,4.634,168,2.799,207,3.971,786,2.875,1004,4.156,1020,3.029,1038,4.634,1129,5.396,1404,5.242,1591,4.156,1895,5.396,2149,4.373,2177,6.059,2178,6.059,2179,5.396,2180,6.059,2181,3.416,2182,6.059]],["t/190",[12,2.783,20,4.236,158,1.692,244,3.734,966,3.856,972,2.481,984,2.783,1033,3.881,1073,4.722,1142,4.046,1304,5.054,1348,2.783,1350,3.269,1367,3.881,1865,6.869,2149,4.456,2183,5.499,2184,6.174,2185,6.174,2186,6.174,2187,6.174]],["t/192",[86,3.828,168,2.699,244,3.532,248,2.92,447,2.92,494,4.216,972,2.993,981,3.189,982,4.066,1005,4.467,1032,4.781,1066,3.532,1173,4.467,1207,6.633,1268,5.202,1348,2.633,1596,4.467,1900,4.781,2149,4.216,2188,5.841,2189,8.635,2190,5.841,2191,5.202]],["t/194",[0,0.701,168,3.186,570,5.273,588,4.022,965,3.186,966,3.447,1040,3.355,1346,4.334,1347,4.519,1387,4.977,1388,5.644,1389,4.73]],["t/196",[0,0.809,128,3.92,248,3.241,447,3.241,967,1.713,1351,4.679,1392,4.679,1396,2.09,2039,4.996,2192,6.483,2193,5.306,2194,7.949,2195,5.773,2196,5.773]],["t/198",[0,0.564,19,6.412,26,4,158,1.519,186,3.351,346,3.026,439,4.936,618,3.026,967,1.194,981,3.026,982,3.026,984,2.498,1016,2.77,1040,2.696,1066,3.351,1076,3.125,1096,3.802,1392,4,1406,4,1407,3.632,1408,3.632,1649,4.936,1924,4.238,2039,3.483,2163,4.536,2193,4.536,2195,4.936,2197,5.542,2198,4.939,2199,4.536,2200,4.936,2201,4,2202,5.542]],["t/200",[0,0.839,530,2.497,635,1.857,967,1.778,1020,3.447,1273,4.022,1396,2.223,1871,2.6,2039,4.334,2198,4.73]],["t/202",[530,2.524,548,3.805,635,2.236,1348,3.141,1361,2.628,1871,2.628,1940,2.334,1942,3.391,2203,4.781,2204,4.567]],["t/204",[0,0.694,530,2.47,635,1.837,936,4.681,967,1.47,1348,3.075,1361,2.573,1396,2.2,1871,2.573,1940,2.285,2205,4.925,2206,4.681,2207,3.847]],["t/206",[0,0.878,51,2.191,158,2.041,182,2.297,281,2.57,618,3.189,647,3.293,786,2.203,967,1.605,1348,2.633,1361,2.203,1396,2.644,1774,2.699,1873,4.199,1940,1.956,1942,3.623,2181,3.293,2208,4.007,2209,4.781]],["t/208",[0,0.819,51,1.946,131,4.774,476,2.601,635,2.167,657,2.547,967,1.425,1215,2.779,1233,3.729,1361,2.494,1940,2.215,2210,4.538,2211,5.414,2212,5.414]],["t/210",[0,0.856,51,2.095,158,1.493,182,2.143,281,2.398,476,2.143,597,3.571,635,1.467,967,1.534,1215,3.332,1361,2.055,1396,2.296,1774,2.517,1873,4.015,1940,1.825,1942,3.464,2076,4.167,2181,3.072,2207,4.472,2210,3.738,2213,4.885,2214,3.738,2215,4.46,2216,3.738]],["t/212",[55,3.416,153,2.435,182,2.383,505,4.156,530,2.194,565,4.634,635,2.246,786,2.285,1077,3.808,1215,3.503,1233,3.416,1316,3.664,1348,2.731,1774,2.799,1871,2.285,1940,2.029,2207,3.416,2208,4.156,2217,4.96,2218,4.96,2219,4.373]],["t/214",[51,1.468,153,2.005,168,3.103,346,2.723,587,3.601,635,2.187,708,2.91,1152,3.422,1215,3.412,1396,2.448,1531,3.422,1696,4.847,2198,3.422,2203,3.422,2213,3.422,2214,3.422,2216,3.422,2220,4.989,2221,4.989,2222,5.981,2223,4.989,2224,6.211,2225,5.497,2226,5.806,2227,4.443,2228,4.989,2229,4.989,2230,4.989,2231,4.989,2232,4.989,2233,4.083]],["t/216",[0,0.534,51,1.037,53,2.311,158,0.966,175,2.696,229,2.419,239,3.14,262,2.461,281,1.551,293,2.419,514,3.14,635,1.871,786,1.98,1042,2.419,1102,2.216,1142,3.44,1152,4.303,1215,1.481,1295,3.14,1358,2.886,1369,3.789,1395,2.545,1396,2.732,1469,3.601,1503,2.696,1759,2.696,1792,3.14,1871,1.33,1873,3.536,1889,2.419,1940,1.181,2219,2.545,2222,5.586,2224,5.682,2225,4.297,2226,4.015,2227,4.676,2234,3.526,2235,3.526,2236,3.526,2237,3.526,2238,3.526,2239,3.14,2240,3.526,2241,3.526,2242,3.526,2243,6.949,2244,3.526,2245,5.25,2246,5.25,2247,3.526,2248,3.526,2249,6.272,2250,3.526,2251,6.272,2252,5.25,2253,3.526]],["t/218",[0,0.653,39,2.42,158,2.165,186,3.881,281,2.824,618,3.504,967,1.702,1040,3.123,1069,2.696,1076,3.619,1276,3.881,1284,4.206,1362,4.633,1442,4.403,1774,2.965,2121,3.619,2254,4.633]],["t/220",[0,0.839,530,2.497,635,1.857,967,1.778,1020,3.447,1273,4.022,1396,2.223,1871,2.6,2039,4.334,2199,5.644]],["t/222",[530,2.524,548,3.805,635,2.236,1348,3.141,1361,2.628,1871,2.628,1940,2.334,1942,3.391,2203,4.781,2204,4.567]],["t/224",[0,0.694,530,2.47,635,1.837,936,4.681,967,1.47,1348,3.075,1361,2.573,1396,2.2,1871,2.573,1940,2.285,2205,4.925,2206,4.681,2207,3.847]],["t/226",[0,0.878,51,2.191,158,2.041,182,2.297,281,2.57,618,3.189,647,3.293,786,2.203,967,1.605,1348,2.633,1361,2.203,1396,2.644,1774,2.699,1873,4.199,1940,1.956,1942,3.623,2181,3.293,2208,4.007,2209,4.781]],["t/228",[0,0.819,51,1.946,131,4.774,476,2.601,635,2.167,657,2.547,967,1.425,1215,2.779,1233,3.729,1361,2.494,1940,2.215,2210,4.538,2211,5.414,2212,5.414]],["t/230",[0,0.856,51,2.095,158,1.493,182,2.143,281,2.398,476,2.143,597,3.571,635,1.467,967,1.534,1215,3.332,1361,2.055,1396,2.296,1774,2.517,1873,4.015,1940,1.825,1942,3.464,2076,4.167,2181,3.072,2207,4.472,2210,3.738,2213,4.885,2214,3.738,2215,4.46,2216,3.738]],["t/232",[55,3.416,153,2.435,182,2.383,505,4.156,530,2.194,565,4.634,635,2.246,786,2.285,1077,3.808,1215,3.503,1233,3.416,1316,3.664,1348,2.731,1774,2.799,1871,2.285,1940,2.029,2207,3.416,2208,4.156,2217,4.96,2218,4.96,2219,4.373]],["t/234",[51,1.766,587,4.333,635,2.473,708,3.502,786,2.264,1215,3.488,1395,4.333,1396,2.443,2204,3.934,2213,4.118,2214,4.118,2216,4.118,2226,4.591,2233,4.914,2255,5.346,2256,5.346,2257,6.003,2258,5.346]],["t/236",[0,0.653,39,2.42,158,2.165,186,3.881,281,2.824,618,3.504,967,1.702,1040,3.123,1069,2.696,1076,3.619,1276,3.881,1284,4.206,1362,4.633,1442,4.403,1774,2.965,2121,3.619,2254,4.633]],["t/239",[0,0.717,36,3.021,51,2.459,185,4.832,198,3.368,299,4.098,786,2.021,884,4.773,967,1.695,1102,3.368,1246,4.773,1286,4.387,1303,4.773,1382,3.512,1397,4.098,1515,3.126,1516,3.868,1569,4.832,1582,4.773,1599,4.098,1606,3.868,1774,2.476,1814,4.098,1940,1.794,2259,5.359,2260,7.044,2261,5.359,2262,5.359,2263,5.359,2264,5.359]],["t/241",[0,0.814,70,2.696,86,3.632,87,3.351,299,4.238,498,3.802,545,4.536,635,1.492,823,4.936,826,4.536,967,1.551,1033,3.483,1102,3.483,1215,2.328,1256,3.483,1367,3.483,1396,2.321,1469,3.802,1506,4.938,1528,4.939,1529,4.936,1697,4.936,1814,4.238,1873,3.125,1940,1.856,1943,4.238,2265,5.542]],["t/243",[0,0.507,70,3.267,182,2.641,527,3.017,652,3.601,937,4.847,943,3.815,967,1.447,1003,3.135,1069,2.096,1072,4.443,1102,3.135,1182,4.083,1185,4.443,1256,3.135,1273,2.91,1386,4.443,1396,2.165,1423,4.443,1506,4.429,1539,5.497,1567,4.443,1574,3.815,1817,4.443,2191,4.443,2196,4.443,2266,6.716,2267,6.716,2268,7.592,2269,4.989,2270,4.989,2271,4.989,2272,4.989,2273,4.989,2274,4.989,2275,4.989]],["t/245",[51,1.946,222,5.891,299,5.058,527,4,545,5.414,588,3.858,643,4.335,820,5.891,1396,2.133,1469,4.538,1569,5.521,1940,2.215,2193,5.414,2276,6.615,2277,6.615]],["t/247",[8,4.083,207,4.425,248,3.375,255,3.2,447,4.073,505,4.632,588,3.938,1094,5.164,1333,4.873,1429,6.014,2278,6.752,2279,6.752,2280,5.527]],["t/249",[0,0.701,207,4.519,530,2.497,635,1.857,967,1.486,1094,5.273,1126,5.644,1593,5.273,1816,5.644,1871,2.6,2280,5.644,2281,6.141]],["t/251",[0,0.749,262,2.246,293,3.936,530,2.078,548,3.133,635,1.545,967,1.236,1396,2.766,1515,3.347,1528,3.936,1871,2.164,1940,1.921,1942,2.791,1943,4.388,2198,3.936,2199,4.697,2224,4.388,2225,4.697,2258,5.11,2282,7.242,2283,5.738,2284,5.11,2285,5.11,2286,5.11]],["t/253",[0,0.675,12,2.541,27,1.505,84,1.307,97,2.763,102,1.106,117,2.083,154,1.643,158,0.656,185,1.643,207,3.211,223,1.231,262,2.626,263,2.449,293,1.643,337,1.569,376,2.133,438,1.643,466,1.96,504,1.643,527,1.448,548,1.307,550,1.397,576,1.643,634,1.079,635,1.046,657,2.386,659,1.728,664,1.505,683,1.505,786,1.465,803,3.211,816,1.831,953,1.728,958,3.361,972,0.962,1069,1.006,1096,1.643,1126,3.179,1196,1.728,1256,1.505,1261,1.505,1334,1.728,1350,1.268,1361,0.903,1395,1.728,1421,1.643,1427,1.165,1445,1.831,1474,2.803,1477,1.728,1506,1.397,1593,3.747,1601,2.133,1640,3.459,1666,1.569,1696,1.728,1764,1.831,1776,1.96,1797,3.459,1812,4.364,1815,1.831,1849,1.643,1874,2.133,1875,1.397,1877,4.738,1977,2.133,2081,1.96,2090,2.133,2181,2.19,2280,3.179,2281,3.459,2282,2.133,2284,2.133,2285,2.133,2286,2.133,2287,2.395,2288,4.9,2289,2.395,2290,2.395,2291,2.395,2292,3.884,2293,2.395,2294,2.395,2295,2.395,2296,2.395,2297,3.884,2298,5.637,2299,3.884,2300,2.395,2301,2.395,2302,2.395,2303,2.395,2304,4.9,2305,2.395,2306,2.395,2307,3.884,2308,2.395,2309,2.395,2310,2.395,2311,2.395,2312,3.884,2313,2.395,2314,2.395,2315,2.395,2316,2.395,2317,2.395,2318,2.395,2319,2.395,2320,2.395,2321,2.395,2322,3.884,2323,1.96,2324,2.395,2325,2.395,2326,2.395,2327,2.395,2328,2.395]],["t/255",[0,0.834,530,2.47,635,1.837,967,1.767,981,3.725,982,3.725,1020,3.411,1273,3.98,1396,2.2,1871,2.573,2039,4.289]],["t/257",[530,2.497,548,3.765,635,2.222,981,3.765,982,3.765,1361,2.6,1871,2.6,1940,2.309,1942,3.355,2203,4.73,2204,4.519]],["t/259",[0,0.687,530,2.445,635,1.818,936,4.632,967,1.455,981,3.686,982,3.686,1361,2.546,1396,2.177,1871,2.546,1940,2.261,2205,4.873,2206,4.632,2207,3.807]],["t/261",[0,0.856,51,1.817,158,1.692,281,2.717,618,3.371,786,2.328,967,1.662,1215,2.594,1292,4.046,1361,2.328,1396,2.487,1873,3.481,1940,2.583,1942,3.004,2181,3.481,2208,4.236,2329,4.456,2330,5.499]],["t/263",[220,4.335,786,3.035,972,2.658,981,3.611,982,3.611,1215,2.779,1404,5.452,1940,2.215,2329,4.774,2331,5.891,2332,5.891,2333,5.891,2334,5.891]],["t/265",[153,2.831,255,3.339,708,4.109,981,3.846,982,3.846,1331,5.085,1889,5.734,2040,5.767,2335,6.275]],["t/267",[0,0.653,39,2.42,158,2.165,186,3.881,281,2.824,618,3.504,967,1.702,1040,3.123,1069,2.696,1076,3.619,1276,3.881,1284,4.206,1362,4.633,1442,4.403,1774,2.965,2121,3.619,2254,4.633]],["t/269",[0,0.829,530,2.445,635,1.818,967,1.756,1020,3.375,1273,3.938,1396,2.177,1397,5.164,1407,4.425,1408,4.425,1871,2.546,2039,4.244]],["t/271",[530,2.497,548,3.765,635,2.222,1361,2.6,1407,4.519,1408,4.519,1871,2.6,1940,2.309,1942,3.355,2203,4.73,2204,4.519]],["t/273",[0,0.687,530,2.445,635,1.818,936,4.632,967,1.455,1361,2.546,1396,2.177,1407,4.425,1408,4.425,1871,2.546,1940,2.261,2205,4.873,2206,4.632,2207,3.807]],["t/275",[0,0.856,51,1.817,158,1.692,281,2.717,618,3.371,786,2.328,967,1.662,1215,2.594,1292,4.046,1361,2.328,1396,2.487,1873,3.481,1940,2.583,1942,3.004,2181,3.481,2208,4.236,2329,4.456,2330,5.499]],["t/277",[220,4.335,786,3.035,972,2.658,1215,2.779,1404,5.452,1407,4.335,1408,4.335,1940,2.215,2329,4.774,2331,5.891,2332,5.891,2333,5.891,2334,5.891]],["t/279",[153,2.831,255,3.339,708,4.109,1331,5.085,1407,4.617,1408,4.617,1889,5.734,2040,5.767,2335,6.275]],["t/281",[0,0.666,39,2.469,158,2.192,186,3.96,281,2.881,618,3.575,967,1.723,1040,3.186,1069,2.751,1076,3.692,1276,3.96,1442,4.492,1774,3.025,2121,3.692,2254,4.726]],["t/283",[0,0.839,530,2.497,635,1.857,967,1.778,1020,3.447,1273,4.022,1396,2.223,1871,2.6,2039,4.334,2200,6.141]],["t/285",[530,2.524,548,3.805,635,2.236,1348,3.141,1361,2.628,1871,2.628,1940,2.334,1942,3.391,2203,4.781,2204,4.567]],["t/287",[0,0.694,530,2.47,635,1.837,936,4.681,967,1.47,1348,3.075,1361,2.573,1396,2.2,1871,2.573,1940,2.285,2205,4.925,2206,4.681,2207,3.847]],["t/289",[0,0.875,51,2.179,158,2.029,182,2.277,281,2.547,618,3.161,647,3.264,786,2.183,967,1.596,1348,2.609,1361,2.183,1396,2.633,1774,2.675,1873,4.175,1940,1.938,1942,3.603,2181,4.175,2209,4.739,2336,4.739]],["t/291",[0,0.819,51,1.946,131,4.774,476,2.601,635,2.167,657,2.547,967,1.425,1215,2.779,1233,3.729,1361,2.494,1940,2.215,2210,4.538,2211,5.414,2212,5.414]],["t/293",[0,0.856,51,2.095,158,1.493,182,2.143,281,2.398,476,2.143,597,3.571,635,1.467,967,1.534,1215,3.332,1361,2.055,1396,2.296,1774,2.517,1873,4.015,1940,1.825,1942,3.464,2076,4.167,2181,3.072,2207,4.472,2210,3.738,2213,4.885,2214,3.738,2215,4.46,2216,3.738]],["t/295",[55,3.385,153,2.412,182,2.361,505,4.118,530,2.174,565,4.591,635,2.236,786,2.264,1077,3.773,1215,3.488,1233,3.385,1316,3.63,1348,2.706,1774,2.773,1871,2.264,1940,2.01,2181,3.385,2207,3.385,2217,4.914,2218,4.914,2219,4.333,2336,4.914]],["t/297",[587,4.633,635,2.405,708,3.744,786,2.42,1215,3.596,1395,4.633,2204,4.206,2213,4.403,2214,4.403,2216,4.403,2226,4.908,2233,5.254,2255,5.716,2256,5.716]],["t/299",[0,0.653,39,2.42,158,2.165,186,3.881,281,2.824,618,3.504,967,1.702,1040,3.123,1069,2.696,1076,3.619,1276,3.881,1284,4.206,1362,4.633,1442,4.403,1774,2.965,2121,3.619,2254,4.633]],["t/301",[0,0.709,12,3.141,128,4.215,634,3.141,980,5.33,984,3.141,1075,5.03,1116,6.207,2201,5.03,2337,6.207,2338,6.207]],["t/303",[0,0.489,12,3.357,125,3.295,133,3.295,153,1.93,158,1.316,178,3.932,198,3.02,433,3.295,646,4.278,937,3.467,965,2.219,984,3.357,998,4.278,1038,3.674,1039,4.29,1075,3.467,1155,3.674,1215,2.018,1394,3.148,1406,3.467,1483,3.932,1591,3.295,1606,3.467,2159,3.674,2201,5.375,2206,3.295,2219,3.467,2336,3.932,2337,6.632,2338,4.278,2339,4.804,2340,4.804,2341,4.804,2342,4.804,2343,4.278,2344,5.831,2345,6.547,2346,4.278,2347,4.804,2348,4.278,2349,3.932]],["t/305",[12,3.141,1066,4.215,1075,5.03,1361,2.628,1438,6.207,1937,5.33,2348,6.207,2350,6.97,2351,6.97,2352,6.97,2353,6.97]],["t/307",[79,2.902,187,4.548,202,3.836,401,4.351,466,4.351,752,4.734,984,3.158,1003,3.341,1076,2.997,1256,3.341,1361,2.004,1466,4.351,1793,4.734,2201,6.013,2354,5.315,2355,7.006,2356,5.315,2357,5.315,2358,5.315,2359,5.315,2360,7.006,2361,7.006,2362,7.006,2363,8.331,2364,5.315,2365,5.315]],["t/309",[0,0.605,168,2.748,172,3.739,182,2.339,200,4.293,243,3.354,634,2.681,1000,4.549,1003,3.739,1159,5.297,1259,5.297,1331,5.438,1332,5.297,1333,4.293,1721,5.297,1759,4.549,2104,5.297,2149,4.293,2183,5.297,2201,4.293,2366,7.534,2367,5.948,2368,5.948,2369,5.948,2370,5.948]],["t/311",[0,0.673,8,4,433,4.538,580,4.538,634,2.981,652,4.774,965,3.056,1039,4.335,1436,4.538,1941,5.058,2198,4.538,2239,5.891,2349,5.414,2371,6.615,2372,6.615,2373,6.615]],["t/313",[0,0.68,172,4.2,207,4.379,965,3.087,984,3.012,1003,4.2,1069,2.807,1591,4.584,1593,5.11,1934,5.11,2179,5.952,2198,4.584,2374,6.683,2375,6.683,2376,6.683]],["t/315",[0,0.559,8,3.323,20,3.77,70,2.673,117,2.03,139,5.476,194,3.205,346,3,632,3.77,984,2.477,1016,3.981,1033,3.454,1037,4.498,1039,3.601,1066,4.33,1071,5.168,1086,4.498,1366,4.498,1369,5.168,1406,3.966,1436,3.77,1924,5.476,2349,4.498,2377,5.495,2378,7.16,2379,5.495,2380,5.495,2381,5.495]],["t/319",[158,2.42,634,3.108,1035,5.273,1039,4.519,1404,4.334,2382,6.896,2383,5.644,2384,6.896,2385,6.141,2386,6.141]],["t/321",[51,1.817,158,1.692,447,3.086,683,3.881,786,2.328,1404,5.814,1774,2.853,1849,5.291,2323,5.054,2383,7.212,2387,7.713,2388,5.499,2389,5.499]],["t/323",[16,4.825,51,1.688,67,3.47,70,2.791,158,1.572,447,2.868,529,3.936,786,2.164,1273,3.347,1404,5.706,1774,2.651,2329,4.141,2383,7.43,2388,5.11,2389,5.11,2390,5.738,2391,5.738,2392,7.363,2393,5.11]],["t/325",[773,4.315,786,1.988,1039,4.567,1127,3.805,1234,3.314,1350,3.689,1394,3.455,1404,4.38,1406,3.805,1480,3.617,1662,3.805,2159,5.329,2224,4.032,2343,4.695,2385,7.69,2394,8.304,2395,5.272,2396,5.272,2397,5.272,2398,5.272,2399,5.272,2400,5.272,2401,5.272,2402,5.272,2403,6.968,2404,5.272,2405,5.272,2406,5.272,2407,5.272]],["t/327",[6,3.481,51,1.817,570,4.722,683,3.881,786,2.328,1349,5.499,1350,3.269,1396,2.487,1503,4.722,1849,4.236,2323,5.054,2386,6.869,2393,5.499,2408,6.174,2409,8.412,2410,6.174,2411,6.174,2412,7.713]],["t/329",[153,2.19,182,2.143,262,1.662,635,1.467,708,3.178,786,2.055,995,4.46,1016,3.965,1066,4.306,1152,3.738,1261,3.425,1302,4.46,1316,3.295,1329,4.853,1330,4.853,1392,3.933,1396,2.296,1871,2.055,1924,4.167,2344,4.853,2346,4.853,2413,5.449,2414,5.449,2415,5.449,2416,5.449,2417,7.121,2418,5.449,2419,5.449,2420,5.449,2421,5.449,2422,5.449,2423,5.449]]],"invertedIndex":[["",{"_index":262,"t":{"5":{"position":[[1667,1],[1677,2],[2030,1],[2314,2],[2335,1],[2364,1],[2689,1],[2691,2],[2718,4],[3053,1],[3101,1],[4457,1],[4584,1]]},"7":{"position":[[713,1],[1120,1],[1130,1]]},"9":{"position":[[633,1],[642,1],[1306,1]]},"13":{"position":[[1081,1],[1532,1],[1568,1],[1575,2],[1578,2],[1583,5],[1611,4],[2090,1],[2711,3],[2844,3],[2923,1],[2942,1],[2979,1],[2986,1],[2994,1],[3010,2]]},"15":{"position":[[894,1],[938,1],[949,2],[952,2],[957,5],[989,4]]},"17":{"position":[[623,1]]},"19":{"position":[[475,1],[508,1],[619,1],[652,1],[857,1],[878,2],[900,1],[986,1],[1005,1],[1007,2],[1029,1],[1190,1],[1214,1]]},"21":{"position":[[709,3],[740,3],[772,3],[1052,1],[1088,2],[1102,1],[1104,2],[1134,1],[1293,1],[1312,1],[1317,1],[1329,2],[1343,1],[1345,2],[1375,1],[1393,1],[1398,1],[1621,1],[1724,1],[2194,1],[2573,1],[2616,1],[2760,1],[2802,1]]},"23":{"position":[[491,1],[863,1],[877,1],[921,1],[923,1],[925,1],[940,1],[942,1],[944,1],[959,1]]},"43":{"position":[[1001,1],[1129,1],[1147,1],[1234,1],[1267,1]]},"62":{"position":[[172,1]]},"66":{"position":[[987,1],[1066,1],[1088,1],[1154,1],[1167,1],[1215,1],[1262,1],[1320,1],[1404,1],[1474,1]]},"68":{"position":[[574,1],[664,1],[741,1],[781,1],[832,1],[853,1],[922,2],[937,1],[1002,2],[1016,1],[1081,2],[1100,1],[1147,1],[1217,1]]},"70":{"position":[[535,1],[616,1],[668,1],[715,1],[758,1],[779,1],[848,1],[888,1],[951,1],[972,1],[1062,1],[1112,1],[1166,1]]},"74":{"position":[[154,1],[174,1],[257,1]]},"76":{"position":[[330,1],[352,1],[406,1],[419,1],[478,1],[524,1]]},"78":{"position":[[348,1],[422,1]]},"80":{"position":[[724,1],[788,1],[801,2],[804,2]]},"86":{"position":[[207,1],[230,1],[314,1],[389,1],[445,1],[535,1],[615,1],[643,1],[699,1],[768,1],[844,1],[898,1],[968,1]]},"114":{"position":[[972,1],[998,1],[1101,1],[1158,1],[1259,1],[1355,1],[2107,1]]},"117":{"position":[[349,1],[374,1]]},"119":{"position":[[39,1],[64,1]]},"121":{"position":[[39,1],[55,1],[99,1],[121,1],[176,1]]},"123":{"position":[[248,1],[276,1]]},"125":{"position":[[39,1],[55,1],[103,1],[129,1],[188,1]]},"127":{"position":[[654,1],[672,1],[835,1],[902,1],[984,1]]},"130":{"position":[[109,1],[129,1],[207,1],[241,1],[294,1]]},"136":{"position":[[386,1],[406,1],[484,1],[518,1],[571,1]]},"145":{"position":[[470,1],[503,1],[538,1],[819,1],[849,1],[868,1],[894,1],[947,1],[1048,1],[1187,1],[1191,1],[1218,1],[1223,1],[1279,1],[1326,2],[1342,1],[1396,1],[1421,1],[1526,1],[1631,1],[1640,1],[1642,2],[1655,1],[1657,2],[1678,1],[1738,1],[1839,1],[1939,1],[2105,1],[2160,2],[2200,2],[2237,1],[2257,1],[2269,1],[2288,1],[2372,1],[2404,1],[2419,1],[2535,1],[2537,2],[2553,1],[2591,2],[2628,2],[2631,3],[2649,1],[2706,2],[2890,1],[2892,2]]},"153":{"position":[[357,1],[390,1],[425,1],[612,1],[622,1],[653,1],[680,1],[810,1],[869,1],[978,1],[1003,1],[1074,1],[1110,1],[1182,1],[1210,2],[1394,1]]},"156":{"position":[[72,1],[211,1],[328,1],[342,1],[403,1],[560,2],[572,3],[584,1]]},"163":{"position":[[87,1]]},"167":{"position":[[30,1]]},"176":{"position":[[417,1],[488,1],[716,1],[754,1]]},"216":{"position":[[312,1],[367,1],[447,1],[579,1],[651,1],[700,1],[806,1]]},"251":{"position":[[105,1],[133,1]]},"253":{"position":[[95,1],[619,1],[646,1],[665,1],[691,1],[709,1],[716,3],[1112,3],[1119,1],[1144,1],[1252,1],[1322,2],[1452,1],[1501,1],[1593,2],[1628,1],[1685,2]]},"329":{"position":[[285,1]]}}}],["0",{"_index":337,"t":{"5":{"position":[[3333,1]]},"7":{"position":[[920,1]]},"31":{"position":[[623,1]]},"66":{"position":[[1108,2]]},"76":{"position":[[372,2]]},"78":{"position":[[172,1]]},"253":{"position":[[1325,2]]}}}],["0.0",{"_index":1544,"t":{"78":{"position":[[183,3]]}}}],["0.75",{"_index":2301,"t":{"253":{"position":[[693,5]]}}}],["0.95",{"_index":1773,"t":{"114":{"position":[[811,5],[1338,4]]}}}],["0}^k",{"_index":456,"t":{"7":{"position":[[1132,4]]}}}],["1",{"_index":97,"t":{"3":{"position":[[1370,2],[2472,2]]},"5":{"position":[[3157,2],[3273,1]]},"7":{"position":[[733,2]]},"9":{"position":[[1928,1],[3392,1]]},"13":{"position":[[586,2],[1068,1]]},"15":{"position":[[940,1]]},"19":{"position":[[510,2],[655,1]]},"21":{"position":[[1606,2],[2276,1]]},"31":{"position":[[628,2]]},"80":{"position":[[807,2]]},"253":{"position":[[92,2],[105,3],[118,1]]}}}],["1.0",{"_index":473,"t":{"7":{"position":[[1633,3]]},"23":{"position":[[1279,3]]},"78":{"position":[[187,3]]}}}],["1.25\\%δ/4=1.25",{"_index":791,"t":{"21":{"position":[[1726,16]]}}}],["1.96",{"_index":848,"t":{"23":{"position":[[883,4]]}}}],["1/2",{"_index":809,"t":{"21":{"position":[[2575,5],[2762,5]]}}}],["1/n",{"_index":342,"t":{"5":{"position":[[3460,4]]}}}],["10",{"_index":1142,"t":{"41":{"position":[[1897,2]]},"47":{"position":[[228,2]]},"66":{"position":[[1416,2]]},"121":{"position":[[69,2]]},"125":{"position":[[69,2]]},"190":{"position":[[180,4]]},"216":{"position":[[576,2],[803,2]]}}}],["100",{"_index":389,"t":{"5":{"position":[[4459,5]]},"9":{"position":[[392,3]]},"23":{"position":[[1290,4],[1465,5],[1553,4]]},"145":{"position":[[2271,3]]}}}],["100(1",{"_index":620,"t":{"13":{"position":[[1441,5]]},"15":{"position":[[801,5]]},"21":{"position":[[851,5]]}}}],["100*(1",{"_index":662,"t":{"13":{"position":[[2725,6]]}}}],["100×\\times×(1",{"_index":707,"t":{"17":{"position":[[295,13],[448,13]]}}}],["1024",{"_index":2059,"t":{"153":{"position":[[614,4]]}}}],["17",{"_index":1982,"t":{"145":{"position":[[1220,2]]}}}],["18.04",{"_index":2227,"t":{"214":{"position":[[167,5]]},"216":{"position":[[7,5],[218,5]]}}}],["1[condition",{"_index":332,"t":{"5":{"position":[[3204,15]]}}}],["1[h(xi)=yi],\\text{acc}^+(h",{"_index":742,"t":{"19":{"position":[[829,27]]}}}],["1[h(xi)=yi].\\text{acc",{"_index":745,"t":{"19":{"position":[[958,23]]}}}],["1e",{"_index":667,"t":{"13":{"position":[[2925,2]]}}}],["1st",{"_index":1824,"t":{"121":{"position":[[135,3]]},"125":{"position":[[143,3]]}}}],["2",{"_index":377,"t":{"5":{"position":[[4128,2]]},"13":{"position":[[2996,1]]}}}],["2.5",{"_index":714,"t":{"17":{"position":[[625,4]]}}}],["20",{"_index":560,"t":{"9":{"position":[[3397,2]]}}}],["2005",{"_index":177,"t":{"3":{"position":[[2961,4]]},"27":{"position":[[11,5],[116,6]]}}}],["2010",{"_index":902,"t":{"27":{"position":[[151,5]]},"31":{"position":[[774,4]]}}}],["20th",{"_index":905,"t":{"27":{"position":[[230,4]]}}}],["24",{"_index":911,"t":{"27":{"position":[[289,3]]}}}],["24.8",{"_index":538,"t":{"9":{"position":[[2212,5],[2486,5]]}}}],["24/27",{"_index":392,"t":{"5":{"position":[[4578,5]]}}}],["255",{"_index":1543,"t":{"78":{"position":[[174,3]]}}}],["273–306",{"_index":898,"t":{"27":{"position":[[123,8]]}}}],["3",{"_index":514,"t":{"9":{"position":[[1320,2]]},"216":{"position":[[197,1]]}}}],["3)).astype(np.uint8",{"_index":1558,"t":{"78":{"position":[[401,20]]}}}],["3.10",{"_index":2236,"t":{"216":{"position":[[105,5]]}}}],["3.6",{"_index":2234,"t":{"216":{"position":[[31,3]]}}}],["3.8",{"_index":1871,"t":{"136":{"position":[[53,3]]},"141":{"position":[[28,3]]},"143":{"position":[[23,3]]},"149":{"position":[[28,3]]},"151":{"position":[[23,3]]},"200":{"position":[[99,3]]},"202":{"position":[[68,3]]},"204":{"position":[[25,3]]},"212":{"position":[[124,5]]},"216":{"position":[[234,4]]},"220":{"position":[[99,3]]},"222":{"position":[[68,3]]},"224":{"position":[[25,3]]},"232":{"position":[[124,5]]},"249":{"position":[[28,3]]},"251":{"position":[[23,3]]},"255":{"position":[[106,3]]},"257":{"position":[[74,3]]},"259":{"position":[[25,3]]},"269":{"position":[[115,3]]},"271":{"position":[[75,3]]},"273":{"position":[[25,3]]},"283":{"position":[[101,3]]},"285":{"position":[[68,3]]},"287":{"position":[[25,3]]},"295":{"position":[[130,5]]},"329":{"position":[[27,5]]}}}],["3.8.5",{"_index":2217,"t":{"212":{"position":[[147,7]]},"232":{"position":[[147,7]]},"295":{"position":[[153,7]]}}}],["3.9.0",{"_index":2218,"t":{"212":{"position":[[158,9]]},"232":{"position":[[158,9]]},"295":{"position":[[164,9]]}}}],["3121",{"_index":910,"t":{"27":{"position":[[284,4]]}}}],["32",{"_index":2390,"t":{"323":{"position":[[0,2]]}}}],["3pm",{"_index":2015,"t":{"145":{"position":[[2411,3]]}}}],["4",{"_index":532,"t":{"9":{"position":[[1933,1],[2387,2]]}}}],["400",{"_index":1628,"t":{"86":{"position":[[645,3]]}}}],["401",{"_index":1632,"t":{"86":{"position":[[701,3]]}}}],["403",{"_index":1636,"t":{"86":{"position":[[770,3]]}}}],["404",{"_index":1641,"t":{"86":{"position":[[846,3]]}}}],["429",{"_index":1644,"t":{"86":{"position":[[900,3]]}}}],["4=1.25%\\delta/4",{"_index":790,"t":{"21":{"position":[[1706,17]]}}}],["4\\delta/4δ/4",{"_index":781,"t":{"21":{"position":[[1509,14],[1849,15]]}}}],["4⋅(δ/4)=δ4\\cdot(\\delta/4",{"_index":800,"t":{"21":{"position":[[2168,25]]}}}],["5",{"_index":552,"t":{"9":{"position":[[2866,2],[3114,2],[3213,2]]},"11":{"position":[[137,2]]},"13":{"position":[[457,2],[1049,2],[2092,3]]},"43":{"position":[[1945,1]]},"121":{"position":[[147,1]]},"125":{"position":[[155,1]]}}}],["500",{"_index":1646,"t":{"86":{"position":[[970,3]]}}}],["54",{"_index":518,"t":{"9":{"position":[[1419,3],[1536,3],[1635,3]]}}}],["587",{"_index":1969,"t":{"145":{"position":[[982,4]]}}}],["5pm",{"_index":1983,"t":{"145":{"position":[[1230,3]]}}}],["6",{"_index":668,"t":{"13":{"position":[[2928,2]]},"17":{"position":[[1078,2]]},"27":{"position":[[114,1]]}}}],["60",{"_index":1776,"t":{"114":{"position":[[855,2],[1289,2]]},"145":{"position":[[1633,2]]},"253":{"position":[[711,4]]}}}],["7",{"_index":814,"t":{"21":{"position":[[2986,2]]}}}],["75",{"_index":1124,"t":{"41":{"position":[[1264,4],[1646,3]]}}}],["8",{"_index":925,"t":{"29":{"position":[[520,2]]}}}],["80",{"_index":491,"t":{"9":{"position":[[457,2],[644,4],[762,4],[1020,4],[1308,4],[1465,3],[1582,3],[1620,4],[1680,3],[2024,4],[2146,3],[2281,3],[2534,3],[2828,3],[3024,4],[3258,3],[3371,3]]},"161":{"position":[[117,3]]}}}],["80.0",{"_index":517,"t":{"9":{"position":[[1387,6]]}}}],["80/100",{"_index":496,"t":{"9":{"position":[[635,6],[1299,6]]}}}],["800",{"_index":1557,"t":{"78":{"position":[[396,4]]}}}],["800x600",{"_index":1550,"t":{"78":{"position":[[291,7]]}}}],["83",{"_index":531,"t":{"9":{"position":[[1902,4],[2186,4],[2375,4]]}}}],["83.0",{"_index":542,"t":{"9":{"position":[[2454,6]]}}}],["86.3",{"_index":551,"t":{"9":{"position":[[2795,6],[3100,6],[3181,6],[3315,5],[3459,5]]}}}],["89",{"_index":393,"t":{"5":{"position":[[4586,4]]}}}],["9",{"_index":1979,"t":{"145":{"position":[[1189,1]]}}}],["9/9",{"_index":388,"t":{"5":{"position":[[4453,3]]}}}],["95",{"_index":101,"t":{"3":{"position":[[1466,3]]},"11":{"position":[[248,3],[356,3],[539,3],[732,3],[854,3]]},"13":{"position":[[533,3],[716,3],[818,4],[1083,3],[1934,3]]},"17":{"position":[[515,3],[679,3],[755,3],[839,3],[1022,3]]},"21":{"position":[[1623,4]]},"23":{"position":[[825,7],[916,4]]},"31":{"position":[[101,3],[154,3],[300,3]]}}}],["97.5",{"_index":712,"t":{"17":{"position":[[559,5]]}}}],["99",{"_index":602,"t":{"13":{"position":[[642,3],[672,3],[774,3]]}}}],["9am",{"_index":1980,"t":{"145":{"position":[[1198,3]]}}}],["_",{"_index":1471,"t":{"66":{"position":[[1145,2]]},"76":{"position":[[397,2]]}}}],["__init__(self",{"_index":1218,"t":{"43":{"position":[[1102,15]]}}}],["__main__",{"_index":2320,"t":{"253":{"position":[[1688,11]]}}}],["__name__",{"_index":2319,"t":{"253":{"position":[[1676,8]]}}}],["a1,a2,…,ana_1",{"_index":913,"t":{"29":{"position":[[68,14]]}}}],["a_2",{"_index":914,"t":{"29":{"position":[[83,4]]}}}],["a_i",{"_index":920,"t":{"29":{"position":[[281,3]]}}}],["a_na1​,a2​,…,an",{"_index":916,"t":{"29":{"position":[[96,17]]}}}],["abandoned",{"_index":1002,"t":{"37":{"position":[[135,9]]},"43":{"position":[[2453,9]]}}}],["ability",{"_index":1179,"t":{"43":{"position":[[21,7]]}}}],["above",{"_index":154,"t":{"3":{"position":[[2475,7]]},"5":{"position":[[3361,5]]},"13":{"position":[[1020,5],[1916,5]]},"21":{"position":[[9,5]]},"123":{"position":[[176,5]]},"253":{"position":[[1799,5]]}}}],["acc+(h",{"_index":766,"t":{"21":{"position":[[813,8]]}}}],["acc+(h)=e(x,y)∼d",{"_index":741,"t":{"19":{"position":[[811,17]]}}}],["acc+(h)=e(x,y)∼d+​1[h(xi​)=yi​],acc−(h)=e(x,y)∼d",{"_index":744,"t":{"19":{"position":[[906,51]]}}}],["acc+(h)=p​(n+,k+,δ/4)acc−‾(h)=p‾(n−,k−,δ/4",{"_index":776,"t":{"21":{"position":[[1195,43]]}}}],["acc+‾(h",{"_index":759,"t":{"21":{"position":[[641,9],[651,9]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4",{"_index":770,"t":{"21":{"position":[[975,22]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4)\\underline{\\text{acc}^+}(h",{"_index":771,"t":{"21":{"position":[[1002,49]]}}}],["acc^s(h)=1n∑i=1n1",{"_index":321,"t":{"5":{"position":[[2995,18]]}}}],["acc^s(h)\\widehat{\\text{acc}}_s(h)accs​(h",{"_index":495,"t":{"9":{"position":[[591,41]]}}}],["accbal(h)=acc+(h)+acc−(h)2.\\text{acc}_\\text{bal}(h",{"_index":748,"t":{"19":{"position":[[1138,51]]}}}],["accbal(h)\\text{acc}_\\text{bal}(h)accbal​(h",{"_index":769,"t":{"21":{"position":[[898,44]]}}}],["accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\underline{\\text{acc}_\\text{bal}}(h",{"_index":808,"t":{"21":{"position":[[2501,71]]}}}],["accd(h)=pr⁡(x,y)∼d",{"_index":287,"t":{"5":{"position":[[2287,19]]}}}],["accd(h)\\text{acc}_d(h)accd​(h",{"_index":492,"t":{"9":{"position":[[519,31]]}}}],["accd​(h)=(x,y)∼dpr​[h(x)=y",{"_index":294,"t":{"5":{"position":[[2370,30]]}}}],["accept",{"_index":1518,"t":{"74":{"position":[[24,6]]},"78":{"position":[[24,6]]}}}],["acceptable",{"_index":1454,"t":{"66":{"position":[[517,10]]}}}],["accepts",{"_index":1512,"t":{"72":{"position":[[18,7]]}}}],["access",{"_index":1394,"t":{"58":{"position":[[20,6]]},"86":{"position":[[90,6],[288,6]]},"136":{"position":[[246,6]]},"141":{"position":[[113,6]]},"174":{"position":[[511,6]]},"303":{"position":[[382,6]]},"325":{"position":[[129,6]]}}}],["accessed",{"_index":1204,"t":{"43":{"position":[[816,8]]}}}],["accessible",{"_index":1719,"t":{"104":{"position":[[309,10]]}}}],["accessing",{"_index":2176,"t":{"184":{"position":[[239,9]]}}}],["accidentally",{"_index":2147,"t":{"176":{"position":[[216,12]]}}}],["according",{"_index":2101,"t":{"163":{"position":[[51,9]]}}}],["account",{"_index":782,"t":{"21":{"position":[[1527,7]]},"58":{"position":[[8,7]]},"141":{"position":[[95,7]]},"172":{"position":[[177,8]]},"174":{"position":[[249,8]]},"180":{"position":[[27,7]]},"184":{"position":[[266,8]]}}}],["account/api",{"_index":2157,"t":{"178":{"position":[[106,11]]}}}],["accs​(h)=n1​i=1∑n​1[h(xi​)=yi",{"_index":328,"t":{"5":{"position":[[3107,36]]}}}],["accumulate",{"_index":993,"t":{"33":{"position":[[888,10]]},"35":{"position":[[861,10]]}}}],["accuracies",{"_index":574,"t":{"11":{"position":[[525,10]]},"19":{"position":[[728,10]]},"21":{"position":[[530,10],[2489,11]]}}}],["accuracy",{"_index":13,"t":{"3":{"position":[[157,9],[352,8],[686,8],[742,9],[761,8],[904,8],[945,8],[995,8],[1217,8],[1326,8],[1386,8],[1423,8],[1446,8],[1546,8],[1907,8],[2078,9],[2263,9],[2355,8],[2443,8],[3063,8]]},"5":{"position":[[60,9],[161,9],[213,8],[603,8],[680,8],[823,9],[837,8],[909,9],[1235,8],[2165,8],[2202,8],[2410,8],[2945,8],[3544,8],[4136,8],[4408,8],[4549,8]]},"7":{"position":[[65,8]]},"9":{"position":[[272,8],[509,9],[581,9],[750,8],[943,9],[998,8],[1096,8],[1281,8],[1378,8],[1453,8],[1570,8],[1608,8],[1870,8],[1968,8],[2012,8],[2134,8],[2173,8],[2295,8],[2363,8],[2445,8],[2522,8],[2638,8],[2717,9],[2764,8],[2816,8],[3012,8],[3088,8],[3172,8],[3246,8],[3301,8],[3359,8],[3447,8]]},"11":{"position":[[68,8],[114,8],[209,9],[288,9],[360,8],[782,8],[845,8]]},"13":{"position":[[200,9],[762,8],[1415,9],[1687,8],[2772,8]]},"15":{"position":[[101,9],[473,9],[530,8],[775,9]]},"17":{"position":[[1243,9]]},"19":{"position":[[25,8],[77,8],[130,8],[221,10],[1088,8]]},"21":{"position":[[66,8],[629,8],[2393,8],[2969,9],[3002,8]]},"23":{"position":[[114,8],[467,9],[1305,10],[1453,8],[1558,8]]},"25":{"position":[[213,8],[442,9]]},"27":{"position":[[170,8]]},"31":{"position":[[184,8],[250,8],[466,8],[577,8],[836,9]]},"56":{"position":[[419,8]]},"114":{"position":[[79,9],[159,8],[1497,8],[1557,9]]}}}],["accurate",{"_index":867,"t":{"23":{"position":[[1715,8]]},"43":{"position":[[517,8]]}}}],["acc−(h",{"_index":768,"t":{"21":{"position":[[832,8]]}}}],["acc−(h)=e(x,y)∼d−​1[h(xi​)=yi",{"_index":747,"t":{"19":{"position":[[1035,34]]}}}],["acc−(h)=p​(n−,k−,δ/4",{"_index":779,"t":{"21":{"position":[[1436,21]]}}}],["acc−​(h",{"_index":767,"t":{"21":{"position":[[822,9]]}}}],["acc−‾(h",{"_index":760,"t":{"21":{"position":[[661,9],[671,9]]}}}],["acc−‾(h)=p‾(n−,k−,δ/4)\\underline{\\text{acc",{"_index":777,"t":{"21":{"position":[[1243,44]]}}}],["achieved",{"_index":988,"t":{"33":{"position":[[789,8]]},"35":{"position":[[762,8]]}}}],["act",{"_index":414,"t":{"7":{"position":[[253,3]]}}}],["action",{"_index":268,"t":{"5":{"position":[[1756,6]]},"64":{"position":[[415,6]]},"68":{"position":[[252,6],[860,6]]}}}],["actively",{"_index":1041,"t":{"39":{"position":[[299,8]]}}}],["actual",{"_index":549,"t":{"9":{"position":[[2705,6]]}}}],["actually",{"_index":197,"t":{"5":{"position":[[375,8]]},"9":{"position":[[1118,8]]},"43":{"position":[[2536,8]]}}}],["add",{"_index":953,"t":{"33":{"position":[[219,3]]},"35":{"position":[[192,3]]},"45":{"position":[[661,3],[773,3]]},"127":{"position":[[401,3]]},"253":{"position":[[294,3]]}}}],["adding",{"_index":1295,"t":{"47":{"position":[[62,6]]},"216":{"position":[[281,6]]}}}],["addition",{"_index":1060,"t":{"39":{"position":[[950,8]]},"98":{"position":[[3,8]]}}}],["additionally",{"_index":1753,"t":{"110":{"position":[[208,13]]}}}],["addressing",{"_index":1926,"t":{"139":{"position":[[1501,10]]}}}],["adds",{"_index":1162,"t":{"41":{"position":[[2610,4]]}}}],["adequate",{"_index":34,"t":{"3":{"position":[[384,8]]}}}],["adjusted",{"_index":710,"t":{"17":{"position":[[419,8]]},"21":{"position":[[1485,8]]}}}],["advanced",{"_index":1034,"t":{"39":{"position":[[48,8]]}}}],["affordable",{"_index":2187,"t":{"190":{"position":[[215,10]]}}}],["ag",{"_index":2396,"t":{"325":{"position":[[49,2]]}}}],["again",{"_index":555,"t":{"9":{"position":[[3029,6]]},"15":{"position":[[614,6]]},"153":{"position":[[1431,5]]},"180":{"position":[[290,6]]}}}],["against",{"_index":1373,"t":{"56":{"position":[[411,7]]},"114":{"position":[[71,7],[1506,7]]},"127":{"position":[[58,7]]}}}],["aggregating",{"_index":1990,"t":{"145":{"position":[[1587,11]]}}}],["ago",{"_index":1565,"t":{"80":{"position":[[181,3]]}}}],["ahead",{"_index":2238,"t":{"216":{"position":[[156,6]]}}}],["ai",{"_index":1865,"t":{"134":{"position":[[69,2]]},"190":{"position":[[106,2],[226,2]]}}}],["aia_iai",{"_index":927,"t":{"29":{"position":[[576,8],[627,8]]}}}],["aim",{"_index":882,"t":{"25":{"position":[[608,3]]}}}],["al",{"_index":901,"t":{"27":{"position":[[146,4]]},"31":{"position":[[769,4]]}}}],["alert",{"_index":2307,"t":{"253":{"position":[[1085,5],[1617,10]]}}}],["alerting",{"_index":1031,"t":{"37":{"position":[[821,8]]}}}],["alerts",{"_index":1017,"t":{"37":{"position":[[426,6]]},"43":{"position":[[486,6]]}}}],["algorithm",{"_index":2274,"t":{"243":{"position":[[315,11]]}}}],["allocation",{"_index":1893,"t":{"139":{"position":[[534,10],[651,10]]}}}],["allow",{"_index":2343,"t":{"303":{"position":[[363,5]]},"325":{"position":[[97,5]]}}}],["allowed",{"_index":1638,"t":{"86":{"position":[[804,7]]}}}],["allowing",{"_index":1087,"t":{"41":{"position":[[214,8]]},"110":{"position":[[327,8]]}}}],["allows",{"_index":20,"t":{"3":{"position":[[244,6]]},"39":{"position":[[783,6]]},"41":{"position":[[327,6]]},"58":{"position":[[104,6]]},"190":{"position":[[76,6]]},"315":{"position":[[271,6]]}}}],["along",{"_index":1867,"t":{"134":{"position":[[94,5]]},"182":{"position":[[67,5]]}}}],["already",{"_index":1814,"t":{"117":{"position":[[114,7]]},"127":{"position":[[451,7]]},"239":{"position":[[175,7]]},"241":{"position":[[342,7]]}}}],["alternatively",{"_index":2151,"t":{"176":{"position":[[526,14]]}}}],["alternatives",{"_index":2246,"t":{"216":{"position":[[509,12],[745,12]]}}}],["always",{"_index":85,"t":{"3":{"position":[[1182,6],[1196,6],[1270,6],[1595,6]]},"7":{"position":[[1747,6]]},"23":{"position":[[90,6]]},"70":{"position":[[791,6]]}}}],["ambiguous",{"_index":2083,"t":{"156":{"position":[[144,9]]},"165":{"position":[[26,10]]}}}],["amount",{"_index":147,"t":{"3":{"position":[[2296,6],[2647,6]]},"9":{"position":[[1174,6],[2929,6]]}}}],["ample",{"_index":109,"t":{"3":{"position":[[1610,5]]}}}],["analogy",{"_index":413,"t":{"7":{"position":[[240,8]]}}}],["analysis",{"_index":1353,"t":{"52":{"position":[[274,9]]},"114":{"position":[[299,8],[1961,9]]},"132":{"position":[[275,8]]},"145":{"position":[[3025,9]]},"153":{"position":[[1564,9]]}}}],["analytics",{"_index":1880,"t":{"139":{"position":[[69,9],[471,9],[1706,9]]}}}],["analyzed",{"_index":1852,"t":{"132":{"position":[[22,8]]}}}],["analyzing",{"_index":1895,"t":{"139":{"position":[[564,9]]},"188":{"position":[[122,9]]}}}],["another",{"_index":1483,"t":{"68":{"position":[[147,7]]},"127":{"position":[[561,7]]},"303":{"position":[[522,7]]}}}],["answer",{"_index":84,"t":{"3":{"position":[[1165,6]]},"5":{"position":[[1693,6]]},"41":{"position":[[1217,6]]},"66":{"position":[[295,6]]},"114":{"position":[[120,6],[1425,6]]},"130":{"position":[[355,6]]},"132":{"position":[[166,7]]},"136":{"position":[[632,6]]},"145":{"position":[[2098,6]]},"153":{"position":[[1175,6],[1203,6]]},"156":{"position":[[84,6],[464,6]]},"253":{"position":[[1098,6]]}}}],["answered",{"_index":1420,"t":{"60":{"position":[[587,8]]},"159":{"position":[[35,8]]}}}],["answering",{"_index":28,"t":{"3":{"position":[[315,9]]}}}],["answers",{"_index":116,"t":{"3":{"position":[[1699,7]]},"41":{"position":[[1781,7]]},"60":{"position":[[532,7]]}}}],["anybody",{"_index":2134,"t":{"174":{"position":[[168,7]]}}}],["anywhere",{"_index":2377,"t":{"315":{"position":[[62,8]]}}}],["api",{"_index":1069,"t":{"39":{"position":[[1204,3]]},"45":{"position":[[40,3],[445,3]]},"84":{"position":[[92,3]]},"86":{"position":[[36,3],[946,3]]},"136":{"position":[[164,3],[257,4]]},"145":{"position":[[57,3],[3017,3]]},"153":{"position":[[57,3],[1556,3]]},"172":{"position":[[30,4],[78,4],[186,3]]},"174":{"position":[[17,3],[145,3],[186,3],[300,3],[318,3],[414,3],[521,3],[540,3]]},"176":{"position":[[49,3],[137,3],[315,3],[429,3],[558,3]]},"178":{"position":[[20,3]]},"180":{"position":[[55,3],[94,3],[339,3]]},"182":{"position":[[7,3]]},"184":{"position":[[155,3]]},"218":{"position":[[122,3]]},"236":{"position":[[122,3]]},"243":{"position":[[335,3]]},"253":{"position":[[426,3]]},"267":{"position":[[122,3]]},"281":{"position":[[122,3]]},"299":{"position":[[122,3]]},"313":{"position":[[88,3]]}}}],["api_2gdxmflhj",{"_index":2122,"t":{"172":{"position":[[207,16]]}}}],["apiexception",{"_index":1602,"t":{"86":{"position":[[68,13],[178,13],[370,12]]},"90":{"position":[[73,13]]}}}],["app",{"_index":1057,"t":{"39":{"position":[[910,3],[1009,3]]},"43":{"position":[[2498,3]]}}}],["appear",{"_index":523,"t":{"9":{"position":[[1710,6]]},"60":{"position":[[626,6]]}}}],["appearing",{"_index":387,"t":{"5":{"position":[[4437,9]]}}}],["appendices",{"_index":892,"t":{"25":{"position":[[855,10]]}}}],["appendix",{"_index":795,"t":{"21":{"position":[[1884,8]]}}}],["application",{"_index":972,"t":{"33":{"position":[[516,11]]},"35":{"position":[[489,11]]},"37":{"position":[[4,11],[195,11]]},"39":{"position":[[69,11]]},"41":{"position":[[153,11],[338,11],[510,11],[646,11],[2454,11],[3132,11]]},"43":{"position":[[108,11],[287,11],[1324,11],[1553,11],[2018,11],[2093,11],[3524,11]]},"47":{"position":[[35,12],[161,11],[518,11]]},"60":{"position":[[428,11]]},"68":{"position":[[292,11],[355,11],[972,11],[1051,11],[1135,11]]},"92":{"position":[[52,11],[185,12]]},"94":{"position":[[194,12]]},"96":{"position":[[155,11]]},"98":{"position":[[78,11]]},"100":{"position":[[124,11]]},"139":{"position":[[30,11],[172,11],[481,11],[804,11],[1915,12]]},"145":{"position":[[112,12],[1375,11],[2918,11]]},"147":{"position":[[163,12],[217,11]]},"153":{"position":[[112,12],[957,11],[1457,11]]},"174":{"position":[[462,12]]},"190":{"position":[[64,11]]},"192":{"position":[[78,11],[160,11]]},"253":{"position":[[481,12]]},"263":{"position":[[149,11]]},"277":{"position":[[150,11]]}}}],["application's",{"_index":1149,"t":{"41":{"position":[[2134,13]]},"43":{"position":[[1517,13],[3441,13]]}}}],["applications",{"_index":1040,"t":{"39":{"position":[[231,12],[1319,12]]},"52":{"position":[[118,12],[191,12],[333,12]]},"54":{"position":[[7,13],[56,12]]},"56":{"position":[[56,12],[331,13],[919,13],[1035,13],[1089,13],[1158,12]]},"84":{"position":[[14,12]]},"100":{"position":[[251,12]]},"102":{"position":[[91,12]]},"184":{"position":[[212,12],[298,12]]},"186":{"position":[[73,13]]},"194":{"position":[[111,13]]},"198":{"position":[[308,12]]},"218":{"position":[[146,12]]},"236":{"position":[[146,12]]},"267":{"position":[[146,12]]},"281":{"position":[[147,12]]},"299":{"position":[[146,12]]}}}],["applied",{"_index":227,"t":{"5":{"position":[[981,7]]}}}],["apply",{"_index":570,"t":{"11":{"position":[[316,5]]},"56":{"position":[[946,5]]},"194":{"position":[[27,5]]},"327":{"position":[[159,5]]}}}],["approach",{"_index":1247,"t":{"43":{"position":[[2302,8]]},"47":{"position":[[320,9]]}}}],["appropriate",{"_index":728,"t":{"19":{"position":[[250,11]]},"41":{"position":[[2523,11]]},"94":{"position":[[20,11]]}}}],["approximate",{"_index":167,"t":{"3":{"position":[[2692,11]]}}}],["approximates",{"_index":856,"t":{"23":{"position":[[1104,12]]}}}],["approximating",{"_index":822,"t":{"23":{"position":[[217,13]]}}}],["approximation",{"_index":825,"t":{"23":{"position":[[306,13],[1778,14]]}}}],["app’s",{"_index":1052,"t":{"39":{"position":[[762,5]]}}}],["apt",{"_index":2225,"t":{"214":{"position":[[119,3],[135,3]]},"216":{"position":[[352,3],[393,3]]},"251":{"position":[[160,3]]}}}],["arch",{"_index":2230,"t":{"214":{"position":[[245,4]]}}}],["architecture",{"_index":987,"t":{"33":{"position":[[776,12]]},"35":{"position":[[749,12]]},"39":{"position":[[557,12],[612,12]]},"41":{"position":[[49,12],[265,12],[3103,12]]},"43":{"position":[[550,12]]}}}],["arduino",{"_index":2366,"t":{"309":{"position":[[33,7],[223,8]]}}}],["area",{"_index":922,"t":{"29":{"position":[[430,4],[556,4],[673,4]]},"139":{"position":[[1830,5]]}}}],["areas",{"_index":924,"t":{"29":{"position":[[506,6],[722,6]]},"139":{"position":[[1395,5],[1539,6]]}}}],["argument",{"_index":2150,"t":{"176":{"position":[[516,9]]}}}],["arm",{"_index":2329,"t":{"261":{"position":[[114,3]]},"263":{"position":[[120,3]]},"275":{"position":[[114,3]]},"277":{"position":[[121,3]]},"323":{"position":[[7,3]]}}}],["arms",{"_index":1748,"t":{"110":{"position":[[93,5]]}}}],["armv7.yml",{"_index":2392,"t":{"323":{"position":[[87,10],[135,9]]}}}],["around",{"_index":374,"t":{"5":{"position":[[4046,6]]},"25":{"position":[[426,6]]},"31":{"position":[[14,6]]},"43":{"position":[[709,6]]}}}],["array",{"_index":1573,"t":{"80":{"position":[[642,6]]}}}],["arrays",{"_index":1517,"t":{"72":{"position":[[91,7]]},"76":{"position":[[125,7]]},"78":{"position":[[47,7]]},"80":{"position":[[95,6],[388,6]]}}}],["arrived",{"_index":1250,"t":{"43":{"position":[[2696,7],[3116,7]]}}}],["arrives",{"_index":1170,"t":{"41":{"position":[[2981,8]]}}}],["ask",{"_index":2081,"t":{"156":{"position":[[38,3],[137,3]]},"165":{"position":[[126,3]]},"253":{"position":[[1058,3]]}}}],["ask.py",{"_index":1878,"t":{"136":{"position":[[340,6],[680,6]]}}}],["ask_async",{"_index":1111,"t":{"41":{"position":[[843,9]]},"66":{"position":[[139,9],[195,9],[443,9]]}}}],["asked",{"_index":1508,"t":{"70":{"position":[[815,5]]}}}],["asking",{"_index":2279,"t":{"247":{"position":[[56,6]]}}}],["aspects",{"_index":1360,"t":{"56":{"position":[[36,7]]}}}],["assembly",{"_index":1730,"t":{"106":{"position":[[251,9]]}}}],["assessing",{"_index":872,"t":{"25":{"position":[[59,9]]}}}],["assigned",{"_index":2164,"t":{"182":{"position":[[142,8]]}}}],["assist",{"_index":1705,"t":{"104":{"position":[[45,6]]}}}],["assistance",{"_index":2368,"t":{"309":{"position":[[159,10]]}}}],["associated",{"_index":258,"t":{"5":{"position":[[1632,10]]},"7":{"position":[[818,10]]},"11":{"position":[[679,10]]}}}],["assume",{"_index":1459,"t":{"66":{"position":[[808,6]]},"68":{"position":[[343,6]]}}}],["assuming",{"_index":936,"t":{"31":{"position":[[373,9]]},"204":{"position":[[0,8]]},"224":{"position":[[0,8]]},"259":{"position":[[0,8]]},"273":{"position":[[0,8]]},"287":{"position":[[0,8]]}}}],["assumption",{"_index":246,"t":{"5":{"position":[[1340,10]]}}}],["assumptions",{"_index":199,"t":{"5":{"position":[[397,12]]}}}],["async",{"_index":1501,"t":{"70":{"position":[[160,5],[724,5]]}}}],["asynchronous",{"_index":1378,"t":{"56":{"position":[[610,12],[668,12]]},"64":{"position":[[55,12]]}}}],["asynchronously",{"_index":1379,"t":{"56":{"position":[[718,14]]},"66":{"position":[[114,14]]},"70":{"position":[[31,15],[821,14]]}}}],["attached",{"_index":1278,"t":{"45":{"position":[[531,8]]}}}],["attempting",{"_index":1500,"t":{"70":{"position":[[94,10]]}}}],["attention",{"_index":2051,"t":{"147":{"position":[[387,9]]}}}],["audit",{"_index":1837,"t":{"127":{"position":[[511,5]]}}}],["auroc",{"_index":78,"t":{"3":{"position":[[1073,6]]}}}],["authenticate",{"_index":2119,"t":{"172":{"position":[[97,12]]}}}],["authentication",{"_index":1275,"t":{"45":{"position":[[152,15],[494,15]]}}}],["authorize",{"_index":2120,"t":{"172":{"position":[[133,9]]}}}],["automatically",{"_index":1292,"t":{"45":{"position":[[1103,13]]},"47":{"position":[[685,13]]},"114":{"position":[[460,13]]},"132":{"position":[[73,13]]},"176":{"position":[[288,13]]},"261":{"position":[[142,13]]},"275":{"position":[[142,13]]}}}],["automating",{"_index":1706,"t":{"104":{"position":[[55,10]]}}}],["automation",{"_index":1695,"t":{"102":{"position":[[148,10]]},"106":{"position":[[60,10]]}}}],["available",{"_index":172,"t":{"3":{"position":[[2909,10]]},"13":{"position":[[2165,9]]},"25":{"position":[[581,9]]},"66":{"position":[[308,9]]},"70":{"position":[[431,9]]},"139":{"position":[[713,9]]},"309":{"position":[[84,9]]},"313":{"position":[[96,10]]}}}],["average",{"_index":63,"t":{"3":{"position":[[777,7]]},"19":{"position":[[1120,7]]}}}],["averaged",{"_index":812,"t":{"21":{"position":[[2911,8]]}}}],["averages",{"_index":815,"t":{"21":{"position":[[3040,8]]}}}],["averaging",{"_index":807,"t":{"21":{"position":[[2405,9]]}}}],["avoid",{"_index":1655,"t":{"90":{"position":[[87,5]]},"176":{"position":[[210,5]]}}}],["avoiding",{"_index":1191,"t":{"43":{"position":[[467,8]]}}}],["await",{"_index":1279,"t":{"45":{"position":[[576,5]]}}}],["away",{"_index":1857,"t":{"132":{"position":[[392,4]]},"145":{"position":[[1539,4]]}}}],["aws",{"_index":2384,"t":{"319":{"position":[[70,3]]}}}],["axis",{"_index":467,"t":{"7":{"position":[[1350,4],[1410,4],[1559,5]]}}}],["back",{"_index":677,"t":{"15":{"position":[[10,4]]},"49":{"position":[[60,5]]},"98":{"position":[[192,4]]},"132":{"position":[[617,4]]}}}],["backend",{"_index":2381,"t":{"315":{"position":[[319,7]]}}}],["backoff",{"_index":1674,"t":{"96":{"position":[[65,7]]}}}],["bad",{"_index":1629,"t":{"86":{"position":[[649,3]]},"156":{"position":[[580,3]]}}}],["balance",{"_index":1583,"t":{"80":{"position":[[1031,7]]},"114":{"position":[[1489,7]]}}}],["balanced",{"_index":62,"t":{"3":{"position":[[733,8],[752,8],[986,8],[1414,8],[1537,8],[1898,8],[2069,8],[2254,8],[3054,8]]},"5":{"position":[[51,8]]},"13":{"position":[[191,8]]},"17":{"position":[[1234,8]]},"19":{"position":[[16,8],[212,8],[1079,8]]},"21":{"position":[[57,8],[2384,8],[2960,8],[2993,8]]},"25":{"position":[[204,8],[433,8]]},"27":{"position":[[161,8]]},"31":{"position":[[827,8]]}}}],["bandwidth",{"_index":1401,"t":{"58":{"position":[[190,10]]}}}],["bars",{"_index":150,"t":{"3":{"position":[[2413,4]]}}}],["bar{p}(n",{"_index":623,"t":{"13":{"position":[[1544,12]]}}}],["based",{"_index":168,"t":{"3":{"position":[[2725,5],[2814,5]]},"15":{"position":[[228,5]]},"21":{"position":[[93,5],[541,5]]},"23":{"position":[[1675,5],[1758,5]]},"41":{"position":[[2154,5]]},"43":{"position":[[3343,5]]},"45":{"position":[[267,5]]},"56":{"position":[[976,5]]},"64":{"position":[[422,5]]},"68":{"position":[[259,5],[867,5],[958,5],[1037,5],[1121,5]]},"102":{"position":[[24,5]]},"139":{"position":[[1909,5]]},"159":{"position":[[86,5]]},"188":{"position":[[159,5]]},"192":{"position":[[132,5]]},"194":{"position":[[57,5]]},"214":{"position":[[99,5],[201,5]]},"309":{"position":[[41,5]]}}}],["basics",{"_index":2242,"t":{"216":{"position":[[381,6]]}}}],["bayesian",{"_index":938,"t":{"31":{"position":[[723,8]]}}}],["become",{"_index":1139,"t":{"41":{"position":[[1844,6],[2012,6]]},"47":{"position":[[366,6]]},"104":{"position":[[297,6]]}}}],["becomes",{"_index":950,"t":{"33":{"position":[[178,7]]},"35":{"position":[[151,7]]}}}],["before",{"_index":1480,"t":{"66":{"position":[[1427,6]]},"80":{"position":[[476,6],[684,6]]},"114":{"position":[[708,6]]},"153":{"position":[[1415,6]]},"184":{"position":[[328,6]]},"325":{"position":[[0,6]]}}}],["behavior",{"_index":1686,"t":{"98":{"position":[[210,9]]},"139":{"position":[[853,9]]}}}],["behind",{"_index":157,"t":{"3":{"position":[[2524,6]]}}}],["being",{"_index":420,"t":{"7":{"position":[[387,5]]},"139":{"position":[[240,5]]}}}],["bell",{"_index":464,"t":{"7":{"position":[[1330,5],[1765,4]]}}}],["below",{"_index":346,"t":{"5":{"position":[[3492,5]]},"7":{"position":[[1173,5],[1844,6]]},"9":{"position":[[778,5],[1841,5]]},"13":{"position":[[2635,6]]},"17":{"position":[[727,6]]},"21":{"position":[[2885,6]]},"25":{"position":[[866,6]]},"29":{"position":[[407,5]]},"114":{"position":[[1890,5]]},"198":{"position":[[35,5]]},"214":{"position":[[182,7]]},"315":{"position":[[259,6]]}}}],["belt",{"_index":2085,"t":{"156":{"position":[[255,4],[321,6]]}}}],["beneficial",{"_index":1092,"t":{"41":{"position":[[294,10]]},"139":{"position":[[500,10]]}}}],["benefit",{"_index":817,"t":{"23":{"position":[[9,7]]}}}],["best",{"_index":1650,"t":{"88":{"position":[[52,4]]},"100":{"position":[[199,4]]},"114":{"position":[[231,4]]},"174":{"position":[[111,4],[272,4]]},"176":{"position":[[101,4]]}}}],["better",{"_index":397,"t":{"5":{"position":[[4671,6]]},"25":{"position":[[647,6]]},"114":{"position":[[152,6],[529,6]]},"127":{"position":[[285,6]]}}}],["between",{"_index":1664,"t":{"92":{"position":[[113,7]]},"110":{"position":[[181,7]]}}}],["bgr",{"_index":1532,"t":{"76":{"position":[[158,3]]},"78":{"position":[[100,3],[463,3]]},"80":{"position":[[30,3],[133,3],[212,3],[770,3]]}}}],["bgr_img",{"_index":1575,"t":{"80":{"position":[[780,7]]}}}],["bias",{"_index":407,"t":{"7":{"position":[[163,4],[551,5],[1037,4],[1868,4]]},"13":{"position":[[376,4]]}}}],["biased",{"_index":428,"t":{"7":{"position":[[533,6]]},"9":{"position":[[106,6]]},"13":{"position":[[358,6]]},"15":{"position":[[156,6]]}}}],["bin/bash",{"_index":2289,"t":{"253":{"position":[[57,11]]}}}],["binary",{"_index":67,"t":{"3":{"position":[[862,6]]},"5":{"position":[[1643,6]]},"19":{"position":[[40,6]]},"43":{"position":[[368,6]]},"156":{"position":[[42,6]]},"159":{"position":[[17,6]]},"167":{"position":[[14,6]]},"169":{"position":[[23,7]]},"323":{"position":[[30,6]]}}}],["binom",{"_index":658,"t":{"13":{"position":[[2666,5]]}}}],["binom.cdf",{"_index":638,"t":{"13":{"position":[[2219,10]]}}}],["binom.cdf(k",{"_index":665,"t":{"13":{"position":[[2867,12]]}}}],["binomial",{"_index":160,"t":{"3":{"position":[[2583,8],[2827,8]]},"7":{"position":[[416,8],[1240,8],[1726,8],[1804,8]]},"9":{"position":[[803,8],[1323,8],[1502,8],[2390,8],[3117,8]]},"13":{"position":[[1460,8],[2149,8]]},"15":{"position":[[820,8]]},"21":{"position":[[554,8]]},"23":{"position":[[50,8],[235,8],[382,8],[1688,8]]}}}],["binomial's",{"_index":567,"t":{"11":{"position":[[147,10]]},"13":{"position":[[233,10]]}}}],["binomial_upper_bound(n",{"_index":660,"t":{"13":{"position":[[2676,23]]}}}],["bisection",{"_index":655,"t":{"13":{"position":[[2599,9]]}}}],["bit",{"_index":529,"t":{"9":{"position":[[1886,3]]},"33":{"position":[[68,3]]},"35":{"position":[[41,3]]},"37":{"position":[[764,3]]},"43":{"position":[[1822,3]]},"323":{"position":[[3,3]]}}}],["black",{"_index":365,"t":{"5":{"position":[[3855,5]]},"161":{"position":[[91,5]]}}}],["blocked",{"_index":1611,"t":{"86":{"position":[[300,10]]}}}],["blocking",{"_index":1103,"t":{"41":{"position":[[589,8]]}}}],["blog",{"_index":138,"t":{"3":{"position":[[2127,4],[2488,4]]}}}],["blue",{"_index":363,"t":{"5":{"position":[[3792,4]]},"80":{"position":[[865,4]]}}}],["board",{"_index":2337,"t":{"301":{"position":[[84,6]]},"303":{"position":[[108,6],[229,5],[341,6]]}}}],["boards",{"_index":2355,"t":{"307":{"position":[[26,7],[51,6]]}}}],["body",{"_index":1961,"t":{"145":{"position":[[808,6]]}}}],["body=daily_summary",{"_index":2027,"t":{"145":{"position":[[2860,19]]}}}],["boilerplate",{"_index":1274,"t":{"45":{"position":[[130,11]]}}}],["bool",{"_index":1224,"t":{"43":{"position":[[1200,6],[1269,5]]}}}],["bot",{"_index":1067,"t":{"39":{"position":[[1132,3],[1200,3]]},"41":{"position":[[2677,4],[2863,4],[2901,4],[2994,3]]},"45":{"position":[[36,3],[192,3],[301,3],[441,3],[688,4],[836,3],[914,3],[1093,3]]}}}],["both",{"_index":866,"t":{"23":{"position":[[1705,4]]}}}],["bottlenecks",{"_index":1723,"t":{"106":{"position":[[97,12]]}}}],["bottom",{"_index":516,"t":{"9":{"position":[[1350,8],[2417,8],[3144,8]]},"17":{"position":[[888,7]]}}}],["bound",{"_index":144,"t":{"3":{"position":[[2232,5],[2990,6]]},"5":{"position":[[1211,5]]},"9":{"position":[[253,5],[492,5],[710,6],[1696,5],[1777,5],[1812,6],[3510,6]]},"11":{"position":[[269,5],[753,5]]},"13":{"position":[[554,6],[663,6],[693,5],[726,6],[844,5],[1104,6],[1486,5],[1955,6],[2759,5]]},"15":{"position":[[313,5],[400,5],[517,5],[561,5],[846,5]]},"17":{"position":[[393,5]]},"21":{"position":[[47,5],[1875,5],[2127,5]]},"23":{"position":[[199,5],[1406,5]]},"29":{"position":[[22,5],[372,5],[545,6]]},"31":{"position":[[122,5],[210,6],[282,5],[515,6],[603,5]]}}}],["bounded",{"_index":682,"t":{"15":{"position":[[195,7]]},"21":{"position":[[3014,7]]}}}],["bounding",{"_index":788,"t":{"21":{"position":[[1650,8]]},"31":{"position":[[354,8]]}}}],["bounds",{"_index":572,"t":{"11":{"position":[[386,6],[457,6],[712,7]]},"13":{"position":[[92,7],[746,6],[1260,7]]},"15":{"position":[[85,6]]},"17":{"position":[[47,6],[162,6],[592,7],[812,6],[870,6],[913,6],[979,6],[1124,6]]},"21":{"position":[[493,6],[597,6],[1807,6],[1955,6],[2085,7],[2251,6],[2373,6],[2446,6],[2936,6],[3072,6]]},"23":{"position":[[26,6]]}}}],["box",{"_index":2406,"t":{"325":{"position":[[283,3]]}}}],["boxes",{"_index":2086,"t":{"156":{"position":[[260,7],[299,5]]}}}],["break",{"_index":1230,"t":{"43":{"position":[[1407,5]]}}}],["brew",{"_index":2258,"t":{"234":{"position":[[117,4]]},"251":{"position":[[113,4]]}}}],["brief",{"_index":891,"t":{"25":{"position":[[849,5]]}}}],["brings",{"_index":136,"t":{"3":{"position":[[2094,6]]}}}],["broad",{"_index":1657,"t":{"90":{"position":[[102,5]]}}}],["brodersen",{"_index":899,"t":{"27":{"position":[[132,10]]},"31":{"position":[[756,9]]}}}],["broken",{"_index":1047,"t":{"39":{"position":[[628,6]]},"41":{"position":[[661,6]]}}}],["browser",{"_index":2344,"t":{"303":{"position":[[374,7],[530,7]]},"329":{"position":[[200,7]]}}}],["brush",{"_index":1118,"t":{"41":{"position":[[1117,6]]}}}],["build",{"_index":1033,"t":{"39":{"position":[[39,5]]},"52":{"position":[[105,5]]},"84":{"position":[[150,5]]},"88":{"position":[[92,5]]},"130":{"position":[[0,5]]},"190":{"position":[[90,5]]},"241":{"position":[[223,5]]},"315":{"position":[[81,5]]}}}],["building",{"_index":1076,"t":{"39":{"position":[[1310,8]]},"56":{"position":[[47,8],[1133,8]]},"68":{"position":[[312,9]]},"84":{"position":[[5,8]]},"198":{"position":[[292,8]]},"218":{"position":[[137,8]]},"236":{"position":[[137,8]]},"267":{"position":[[137,8]]},"281":{"position":[[137,9]]},"299":{"position":[[137,8]]},"307":{"position":[[95,8]]}}}],["built",{"_index":1314,"t":{"47":{"position":[[643,5]]},"52":{"position":[[346,5]]},"54":{"position":[[69,5]]}}}],["bunch",{"_index":2265,"t":{"241":{"position":[[25,5]]}}}],["busier",{"_index":1902,"t":{"139":{"position":[[871,6]]}}}],["business",{"_index":1268,"t":{"43":{"position":[[3487,9]]},"192":{"position":[[272,8]]}}}],["business's",{"_index":1976,"t":{"145":{"position":[[1137,10]]}}}],["button",{"_index":2160,"t":{"180":{"position":[[105,7]]},"184":{"position":[[68,6]]}}}],["c",{"_index":2211,"t":{"208":{"position":[[125,1]]},"228":{"position":[[125,1]]},"291":{"position":[[125,1]]}}}],["cable",{"_index":2340,"t":{"303":{"position":[[265,6]]}}}],["call",{"_index":253,"t":{"5":{"position":[[1493,4]]},"86":{"position":[[40,5]]},"123":{"position":[[203,5]]},"172":{"position":[[70,4]]}}}],["called",{"_index":317,"t":{"5":{"position":[[2922,6]]},"17":{"position":[[255,6]]}}}],["calls",{"_index":1597,"t":{"84":{"position":[[96,6]]}}}],["cam",{"_index":1466,"t":{"66":{"position":[[1062,3]]},"76":{"position":[[326,3]]},"307":{"position":[[272,3]]}}}],["cam.read",{"_index":1472,"t":{"66":{"position":[[1156,10]]},"76":{"position":[[408,10]]}}}],["cam.release",{"_index":1481,"t":{"66":{"position":[[1460,13]]},"76":{"position":[[510,13]]}}}],["camera",{"_index":984,"t":{"33":{"position":[[723,6]]},"35":{"position":[[696,6]]},"39":{"position":[[327,6],[365,6]]},"41":{"position":[[754,6],[1477,6]]},"64":{"position":[[306,6]]},"66":{"position":[[1101,6],[1196,6],[1488,6]]},"76":{"position":[[365,6],[538,6]]},"139":{"position":[[1768,6],[1840,6]]},"141":{"position":[[79,6]]},"145":{"position":[[424,6]]},"149":{"position":[[79,6]]},"153":{"position":[[311,6]]},"190":{"position":[[151,7]]},"198":{"position":[[192,6]]},"301":{"position":[[77,6]]},"303":{"position":[[101,6],[222,6],[334,6]]},"307":{"position":[[192,6],[241,6]]},"313":{"position":[[53,6]]},"315":{"position":[[377,6]]}}}],["cameras",{"_index":1004,"t":{"37":{"position":[[182,8]]},"39":{"position":[[270,7]]},"41":{"position":[[415,8],[459,7]]},"80":{"position":[[242,7]]},"82":{"position":[[185,7],[314,7],[325,7]]},"188":{"position":[[165,8]]}}}],["campaigns",{"_index":1909,"t":{"139":{"position":[[1001,9]]}}}],["can't",{"_index":645,"t":{"13":{"position":[[2382,5]]}}}],["cap",{"_index":1952,"t":{"145":{"position":[[466,3]]},"153":{"position":[[353,3]]}}}],["cap.read",{"_index":1954,"t":{"145":{"position":[[505,10]]},"153":{"position":[[392,10]]}}}],["cap.release",{"_index":1955,"t":{"145":{"position":[[516,13]]},"153":{"position":[[403,13]]}}}],["capabilities",{"_index":1393,"t":{"56":{"position":[[1228,13]]},"110":{"position":[[142,12]]}}}],["capture",{"_index":1473,"t":{"66":{"position":[[1169,7]]},"76":{"position":[[421,7]]},"145":{"position":[[398,7],[1888,7]]},"153":{"position":[[285,7],[1378,7]]}}}],["capture_image",{"_index":1951,"t":{"145":{"position":[[449,16],[1841,15],[2958,13]]},"153":{"position":[[336,16],[1076,15],[1497,13]]}}}],["capturer",{"_index":1108,"t":{"41":{"position":[[703,9],[1390,9],[1449,8],[1740,8],[1947,8]]}}}],["captures",{"_index":1109,"t":{"41":{"position":[[731,8]]},"145":{"position":[[2930,8]]},"153":{"position":[[1469,8]]}}}],["cardboard",{"_index":2088,"t":{"156":{"position":[[289,9]]}}}],["care",{"_index":38,"t":{"3":{"position":[[448,4],[521,4]]}}}],["careful",{"_index":2,"t":{"3":{"position":[[23,7]]}}}],["case",{"_index":10,"t":{"3":{"position":[[121,5]]},"5":{"position":[[435,4],[4337,5]]},"31":{"position":[[442,5],[541,5]]},"60":{"position":[[706,4]]},"66":{"position":[[541,4]]}}}],["cases",{"_index":52,"t":{"3":{"position":[[612,5]]},"11":{"position":[[564,6]]},"31":{"position":[[311,5]]},"52":{"position":[[220,6]]}}}],["catch",{"_index":1652,"t":{"90":{"position":[[0,5]]},"100":{"position":[[84,5]]}}}],["catching",{"_index":1656,"t":{"90":{"position":[[93,8]]}}}],["cause",{"_index":2276,"t":{"245":{"position":[[123,5]]}}}],["cautious",{"_index":2152,"t":{"176":{"position":[[621,8]]}}}],["cd",{"_index":2416,"t":{"329":{"position":[[105,2]]}}}],["cdf",{"_index":446,"t":{"7":{"position":[[805,5],[1070,3],[1212,3],[1476,3],[1569,3]]},"9":{"position":[[1346,3],[1398,3],[1491,3],[2413,3],[2465,3],[3140,3],[3192,3]]},"13":{"position":[[244,3],[2017,3],[2158,3],[2345,3]]},"21":{"position":[[563,4]]},"23":{"position":[[59,3],[1697,3]]}}}],["cdf(mid",{"_index":672,"t":{"13":{"position":[[3001,8]]}}}],["cdf(p",{"_index":663,"t":{"13":{"position":[[2852,7]]}}}],["celebrates",{"_index":1337,"t":{"49":{"position":[[423,10]]}}}],["celebrating",{"_index":1025,"t":{"37":{"position":[[631,11]]}}}],["centers",{"_index":1713,"t":{"104":{"position":[[154,8]]}}}],["central",{"_index":706,"t":{"17":{"position":[[264,7],[322,7],[519,7],[699,7],[759,7],[1081,7],[1201,7]]},"23":{"position":[[335,7]]}}}],["challenging",{"_index":1257,"t":{"43":{"position":[[3235,11]]}}}],["chance",{"_index":506,"t":{"9":{"position":[[1052,6],[1423,6],[1540,6],[1935,6],[2492,6],[3216,6]]},"37":{"position":[[699,6]]}}}],["change",{"_index":1302,"t":{"47":{"position":[[294,6]]},"80":{"position":[[528,6]]},"329":{"position":[[300,6]]}}}],["changing",{"_index":2357,"t":{"307":{"position":[[133,8]]}}}],["channel",{"_index":1559,"t":{"78":{"position":[[430,7]]},"80":{"position":[[462,7],[670,7],[753,7]]}}}],["channel.send(\"message",{"_index":1280,"t":{"45":{"position":[[582,23]]}}}],["channels=wf.getnchannels",{"_index":2065,"t":{"153":{"position":[[740,27]]}}}],["characterizes",{"_index":423,"t":{"7":{"position":[[449,13]]}}}],["check",{"_index":1233,"t":{"43":{"position":[[1576,5],[2734,5]]},"49":{"position":[[295,5]]},"56":{"position":[[87,5]]},"123":{"position":[[29,5]]},"174":{"position":[[50,5]]},"208":{"position":[[3,5]]},"212":{"position":[[3,5]]},"228":{"position":[[3,5]]},"232":{"position":[[3,5]]},"291":{"position":[[3,5]]},"295":{"position":[[3,5]]}}}],["checker",{"_index":1609,"t":{"86":{"position":[[265,9]]}}}],["checking",{"_index":2076,"t":{"153":{"position":[[1422,8]]},"210":{"position":[[259,9]]},"230":{"position":[[259,9]]},"293":{"position":[[259,9]]}}}],["checks",{"_index":1239,"t":{"43":{"position":[[1849,6],[2105,6]]},"139":{"position":[[273,6]]}}}],["cheesy",{"_index":1029,"t":{"37":{"position":[[739,7]]}}}],["chmod",{"_index":2295,"t":{"253":{"position":[[347,5]]}}}],["choice",{"_index":383,"t":{"5":{"position":[[4347,6]]},"9":{"position":[[689,6],[1670,6],[3490,6]]}}}],["choose",{"_index":439,"t":{"7":{"position":[[718,7]]},"198":{"position":[[0,6]]}}}],["chose",{"_index":1141,"t":{"41":{"position":[[1889,5]]}}}],["chrome",{"_index":2347,"t":{"303":{"position":[[512,6]]}}}],["chunk",{"_index":2058,"t":{"153":{"position":[[606,5]]}}}],["circled",{"_index":382,"t":{"5":{"position":[[4275,7]]}}}],["circles",{"_index":373,"t":{"5":{"position":[[4038,7]]}}}],["class",{"_index":91,"t":{"3":{"position":[[1304,5],[1440,5]]},"19":{"position":[[116,5],[169,6],[300,6],[348,5],[781,5]]},"21":{"position":[[2483,5]]},"43":{"position":[[1069,5]]}}}],["classes",{"_index":64,"t":{"3":{"position":[[803,7]]},"92":{"position":[[35,7]]}}}],["classification",{"_index":681,"t":{"15":{"position":[[136,14]]},"27":{"position":[[61,15]]}}}],["classifications",{"_index":630,"t":{"13":{"position":[[1824,15]]}}}],["classified",{"_index":340,"t":{"5":{"position":[[3426,10]]},"9":{"position":[[150,10],[446,10]]},"13":{"position":[[1369,10]]},"15":{"position":[[711,10]]},"21":{"position":[[347,10],[431,10]]}}}],["classifier",{"_index":190,"t":{"5":{"position":[[260,10],[449,10],[787,10],[1249,10],[1418,10],[1536,10],[1834,10],[3809,11]]},"9":{"position":[[286,10],[419,11],[932,10]]},"13":{"position":[[2786,10]]},"19":{"position":[[47,10]]},"21":{"position":[[82,10]]}}}],["classifier's",{"_index":211,"t":{"5":{"position":[[590,12],[667,12],[890,12]]},"7":{"position":[[47,12],[363,12]]},"9":{"position":[[980,12]]}}}],["classifiers",{"_index":573,"t":{"11":{"position":[[410,11],[507,12]]},"23":{"position":[[1521,11]]}}}],["classifies",{"_index":276,"t":{"5":{"position":[[1978,10],[2249,10],[2908,10],[3903,10]]},"13":{"position":[[2812,10]]}}}],["classifying",{"_index":415,"t":{"7":{"position":[[260,11]]}}}],["clean",{"_index":1001,"t":{"37":{"position":[[104,5]]},"41":{"position":[[2337,5]]}}}],["cleaning",{"_index":954,"t":{"33":{"position":[[246,8]]},"35":{"position":[[219,8]]},"41":{"position":[[1084,8]]},"49":{"position":[[468,8]]}}}],["cleanliness",{"_index":2111,"t":{"169":{"position":[[31,13]]}}}],["clear",{"_index":679,"t":{"15":{"position":[[56,5]]},"33":{"position":[[269,5]]},"35":{"position":[[242,5]]},"74":{"position":[[213,7],[240,8]]},"139":{"position":[[1812,5]]},"167":{"position":[[96,5]]}}}],["clearly",{"_index":861,"t":{"23":{"position":[[1480,7]]}}}],["click",{"_index":2159,"t":{"180":{"position":[[72,5],[189,5]]},"184":{"position":[[49,5]]},"303":{"position":[[272,5]]},"325":{"position":[[287,5],[312,5]]}}}],["clicks",{"_index":2339,"t":{"303":{"position":[[158,7]]}}}],["clone",{"_index":2414,"t":{"329":{"position":[[37,5]]}}}],["close",{"_index":670,"t":{"13":{"position":[[2962,5]]},"23":{"position":[[1171,5],[1544,5],[1607,5]]}}}],["cloud",{"_index":1414,"t":{"60":{"position":[[284,5],[408,5],[640,5],[779,6]]},"123":{"position":[[88,5]]}}}],["clouds",{"_index":2107,"t":{"165":{"position":[[147,6]]}}}],["cluster",{"_index":2411,"t":{"327":{"position":[[102,7]]}}}],["clutter",{"_index":2115,"t":{"169":{"position":[[136,7]]}}}],["cnc",{"_index":1711,"t":{"104":{"position":[[132,3]]},"110":{"position":[[269,3]]}}}],["cobot",{"_index":1747,"t":{"110":{"position":[[79,5]]}}}],["code",{"_index":634,"t":{"13":{"position":[[2139,5]]},"37":{"position":[[165,6]]},"49":{"position":[[316,5]]},"52":{"position":[[144,5]]},"70":{"position":[[276,4]]},"78":{"position":[[273,4]]},"84":{"position":[[163,4]]},"86":{"position":[[571,4],[596,5]]},"88":{"position":[[105,5]]},"114":{"position":[[378,4],[2056,4]]},"127":{"position":[[245,4]]},"172":{"position":[[148,4]]},"174":{"position":[[80,4]]},"176":{"position":[[258,4],[368,4],[649,4]]},"253":{"position":[[1423,4]]},"301":{"position":[[35,4]]},"309":{"position":[[11,4]]},"311":{"position":[[145,4]]},"319":{"position":[[37,5]]}}}],["codes",{"_index":1627,"t":{"86":{"position":[[636,6]]}}}],["coin",{"_index":410,"t":{"7":{"position":[[189,4],[311,5],[325,4],[540,4]]},"9":{"position":[[43,4],[113,4]]},"13":{"position":[[365,4]]},"15":{"position":[[36,4],[163,4]]}}}],["coin's",{"_index":453,"t":{"7":{"position":[[1030,6]]}}}],["collaboration",{"_index":1751,"t":{"110":{"position":[[167,13]]}}}],["colleague",{"_index":1339,"t":{"49":{"position":[[442,10]]}}}],["colleagues",{"_index":1313,"t":{"47":{"position":[[627,10]]}}}],["collection",{"_index":912,"t":{"29":{"position":[[46,10]]}}}],["collects",{"_index":1171,"t":{"41":{"position":[[2998,8]]},"45":{"position":[[305,8]]}}}],["color",{"_index":361,"t":{"5":{"position":[[3768,5]]},"78":{"position":[[104,5]]},"80":{"position":[[216,5],[1025,5]]}}}],["colored",{"_index":149,"t":{"3":{"position":[[2405,7]]}}}],["combination",{"_index":1186,"t":{"43":{"position":[[353,11]]}}}],["combines",{"_index":1045,"t":{"39":{"position":[[479,8]]},"134":{"position":[[36,8]]}}}],["come",{"_index":1862,"t":{"132":{"position":[[612,4]]}}}],["comes",{"_index":826,"t":{"23":{"position":[[320,5]]},"37":{"position":[[586,5]]},"241":{"position":[[293,5]]}}}],["command",{"_index":2181,"t":{"188":{"position":[[210,8]]},"206":{"position":[[60,7]]},"210":{"position":[[88,8]]},"226":{"position":[[60,7]]},"230":{"position":[[88,8]]},"253":{"position":[[10,7],[338,8]]},"261":{"position":[[60,7]]},"275":{"position":[[60,7]]},"289":{"position":[[60,7],[76,7]]},"293":{"position":[[88,8]]},"295":{"position":[[47,7]]}}}],["commands",{"_index":1732,"t":{"106":{"position":[[301,8]]}}}],["commercially",{"_index":80,"t":{"3":{"position":[[1095,12]]}}}],["commit",{"_index":2153,"t":{"176":{"position":[[637,6]]}}}],["commits",{"_index":996,"t":{"33":{"position":[[915,8]]},"35":{"position":[[888,8]]}}}],["committing",{"_index":2148,"t":{"176":{"position":[[229,10]]}}}],["common",{"_index":90,"t":{"3":{"position":[[1297,6]]},"9":{"position":[[2593,7]]},"86":{"position":[[617,6]]},"188":{"position":[[148,6]]}}}],["commonly",{"_index":820,"t":{"23":{"position":[[185,8]]},"245":{"position":[[6,8]]}}}],["communicate",{"_index":1455,"t":{"66":{"position":[[651,11]]}}}],["communicating",{"_index":1413,"t":{"60":{"position":[[249,13]]}}}],["communication",{"_index":1757,"t":{"110":{"position":[[349,13]]}}}],["compare",{"_index":819,"t":{"23":{"position":[[163,7]]}}}],["compatibility",{"_index":1566,"t":{"80":{"position":[[189,13]]}}}],["compatible",{"_index":2330,"t":{"261":{"position":[[118,10]]},"275":{"position":[[118,10]]}}}],["complete",{"_index":2040,"t":{"147":{"position":[[154,8]]},"265":{"position":[[6,8]]},"279":{"position":[[6,8]]}}}],["completely",{"_index":422,"t":{"7":{"position":[[438,10]]}}}],["completing",{"_index":2202,"t":{"198":{"position":[[212,10]]}}}],["complex",{"_index":970,"t":{"33":{"position":[[499,7],[822,7]]},"35":{"position":[[472,7],[795,7]]},"39":{"position":[[828,7],[938,8]]},"41":{"position":[[532,7],[2113,7]]},"43":{"position":[[51,7],[1831,8]]},"52":{"position":[[259,7]]},"104":{"position":[[267,7]]},"114":{"position":[[318,7]]}}}],["complexity",{"_index":1197,"t":{"43":{"position":[[673,11]]},"45":{"position":[[670,10]]}}}],["component",{"_index":2394,"t":{"325":{"position":[[20,10],[186,9],[301,10],[341,9]]}}}],["compose",{"_index":2383,"t":{"319":{"position":[[56,7]]},"321":{"position":[[44,7],[132,7],[159,7],[179,8]]},"323":{"position":[[79,7],[109,7],[127,7],[172,7],[199,7],[219,8]]}}}],["compose.yml",{"_index":2387,"t":{"321":{"position":[[20,12],[91,11]]}}}],["compress/2174925f24362c479b2.jpg",{"_index":1843,"t":{"127":{"position":[[795,33]]}}}],["compression",{"_index":2272,"t":{"243":{"position":[[279,11]]}}}],["compute",{"_index":140,"t":{"3":{"position":[[2157,7],[2538,7]]},"5":{"position":[[2436,7]]},"17":{"position":[[239,7],[505,7],[551,7],[1193,7]]},"21":{"position":[[952,7]]}}}],["computed",{"_index":320,"t":{"5":{"position":[[2983,8]]},"11":{"position":[[442,8]]},"17":{"position":[[353,8]]}}}],["computer",{"_index":965,"t":{"33":{"position":[[446,8],[564,8]]},"35":{"position":[[419,8],[537,8]]},"43":{"position":[[3646,8]]},"52":{"position":[[32,9]]},"56":{"position":[[982,8],[1191,8]]},"102":{"position":[[30,8],[200,8]]},"104":{"position":[[14,8]]},"106":{"position":[[26,8]]},"108":{"position":[[14,8],[196,8]]},"110":{"position":[[14,8]]},"112":{"position":[[55,8]]},"130":{"position":[[16,8]]},"132":{"position":[[343,8]]},"139":{"position":[[1876,8]]},"194":{"position":[[63,8]]},"303":{"position":[[245,8]]},"311":{"position":[[72,9]]},"313":{"position":[[26,8]]}}}],["computer's",{"_index":2044,"t":{"147":{"position":[[269,10]]}}}],["computing",{"_index":691,"t":{"15":{"position":[[542,9]]},"17":{"position":[[949,9]]},"56":{"position":[[839,9]]},"134":{"position":[[123,10]]}}}],["conceptualize",{"_index":270,"t":{"5":{"position":[[1799,13]]}}}],["concurrently",{"_index":1095,"t":{"41":{"position":[[392,12]]}}}],["condition",{"_index":330,"t":{"5":{"position":[[3160,9]]}}}],["condition\\texttt{condition}condition",{"_index":336,"t":{"5":{"position":[[3284,36]]}}}],["conditional",{"_index":731,"t":{"19":{"position":[[354,11]]},"31":{"position":[[684,11]]}}}],["conditions",{"_index":1210,"t":{"43":{"position":[[898,11]]}}}],["conference",{"_index":907,"t":{"27":{"position":[[249,10]]}}}],["confidence",{"_index":102,"t":{"3":{"position":[[1470,10],[2044,10],[2183,10],[2704,10],[2793,10],[3025,10]]},"5":{"position":[[26,10],[115,10],[2118,10]]},"11":{"position":[[258,10],[375,10],[701,10],[742,10]]},"13":{"position":[[81,10],[166,10],[543,10],[652,10],[682,10],[1093,10],[1249,10],[1475,10],[1944,10],[2748,10]]},"15":{"position":[[835,10]]},"17":{"position":[[89,10],[208,10],[272,10],[330,10],[428,10],[527,10],[581,10],[767,10],[859,10],[1002,10],[1089,10],[1209,10]]},"21":{"position":[[870,10]]},"23":{"position":[[768,10],[1654,10]]},"25":{"position":[[266,10],[405,10]]},"31":{"position":[[33,10],[111,10],[343,10]]},"41":{"position":[[1240,10],[1622,10]]},"45":{"position":[[733,10]]},"56":{"position":[[345,10],[455,10]]},"114":{"position":[[564,10],[662,10],[791,10],[1319,10],[1469,10],[1530,10],[1617,10],[1908,10],[2235,10],[2294,10]]},"127":{"position":[[497,10]]},"132":{"position":[[142,11],[641,11]]},"145":{"position":[[1564,10]]},"253":{"position":[[673,11]]}}}],["confidence_threshold=0.8",{"_index":1991,"t":{"145":{"position":[[1599,25]]}}}],["confidence_threshold=0.95",{"_index":1786,"t":{"114":{"position":[[1232,26]]}}}],["confidence_threshold=confidence",{"_index":2310,"t":{"253":{"position":[[1205,32]]}}}],["confident",{"_index":1137,"t":{"41":{"position":[[1771,9],[1851,9],[2019,9]]},"70":{"position":[[1125,9]]},"114":{"position":[[875,9]]}}}],["configuration",{"_index":2371,"t":{"311":{"position":[[86,13]]}}}],["configure",{"_index":1369,"t":{"56":{"position":[[274,10]]},"60":{"position":[[332,9]]},"62":{"position":[[3,9]]},"216":{"position":[[449,9],[702,9]]},"315":{"position":[[114,9],[285,9]]}}}],["configured",{"_index":1424,"t":{"60":{"position":[[676,10]]}}}],["configuring",{"_index":1374,"t":{"56":{"position":[[431,11]]}}}],["confirm",{"_index":2173,"t":{"184":{"position":[[94,7]]}}}],["conflicts",{"_index":2277,"t":{"245":{"position":[[129,9]]}}}],["confusing",{"_index":934,"t":{"31":{"position":[[68,10]]}}}],["connected",{"_index":1934,"t":{"139":{"position":[[1861,9]]},"141":{"position":[[69,9]]},"149":{"position":[[69,9]]},"313":{"position":[[10,9]]}}}],["consequently",{"_index":245,"t":{"5":{"position":[[1314,13]]},"9":{"position":[[3411,13]]}}}],["consider",{"_index":200,"t":{"5":{"position":[[422,8]]},"9":{"position":[[208,8]]},"41":{"position":[[1195,8]]},"92":{"position":[[0,8]]},"309":{"position":[[239,8]]}}}],["considered",{"_index":1121,"t":{"41":{"position":[[1143,10]]},"163":{"position":[[114,10]]}}}],["considering",{"_index":497,"t":{"9":{"position":[[664,11]]}}}],["consist",{"_index":2123,"t":{"172":{"position":[[228,7]]}}}],["consists",{"_index":208,"t":{"5":{"position":[[546,8],[1578,8]]}}}],["constrained",{"_index":2267,"t":{"243":{"position":[[27,12],[394,11]]}}}],["construct",{"_index":180,"t":{"3":{"position":[[3015,9]]},"5":{"position":[[16,9],[105,9],[2106,9]]},"11":{"position":[[229,9]]},"15":{"position":[[69,9]]}}}],["constructing",{"_index":135,"t":{"3":{"position":[[2031,12]]}}}],["construction",{"_index":792,"t":{"21":{"position":[[1776,13]]},"31":{"position":[[83,12]]}}}],["constructor",{"_index":1426,"t":{"62":{"position":[[115,11]]},"176":{"position":[[504,11],[596,12]]}}}],["contain",{"_index":813,"t":{"21":{"position":[[2943,7]]},"23":{"position":[[97,7]]}}}],["container",{"_index":2178,"t":{"188":{"position":[[108,9]]}}}],["containers",{"_index":1405,"t":{"60":{"position":[[42,10]]}}}],["contains",{"_index":1621,"t":{"86":{"position":[[456,8],[546,8]]}}}],["content",{"_index":2094,"t":{"159":{"position":[[105,8]]}}}],["content/uploads/2010/11/over_flowing_garbage_can.jpg",{"_index":1781,"t":{"114":{"position":[[1041,53]]}}}],["context",{"_index":1093,"t":{"41":{"position":[[313,7]]},"94":{"position":[[93,7]]},"167":{"position":[[72,8]]}}}],["continue",{"_index":2000,"t":{"145":{"position":[[1824,8],[1922,8],[2089,8]]}}}],["contrast",{"_index":528,"t":{"9":{"position":[[1822,9]]}}}],["control",{"_index":611,"t":{"13":{"position":[[963,7]]},"56":{"position":[[378,7]]},"102":{"position":[[344,8]]},"108":{"position":[[252,8]]},"110":{"position":[[367,7]]},"114":{"position":[[38,7]]},"174":{"position":[[219,7]]}}}],["converged",{"_index":669,"t":{"13":{"position":[[2952,9]]}}}],["converges",{"_index":832,"t":{"23":{"position":[[505,9]]}}}],["conversion",{"_index":2275,"t":{"243":{"position":[[432,10]]}}}],["convert",{"_index":1574,"t":{"80":{"position":[[726,7]]},"145":{"position":[[540,7]]},"153":{"position":[[427,7]]},"243":{"position":[[190,7]]}}}],["convey",{"_index":146,"t":{"3":{"position":[[2285,6]]},"25":{"position":[[290,6]]},"161":{"position":[[372,8]]}}}],["conveyor",{"_index":2089,"t":{"156":{"position":[[312,8]]}}}],["copy",{"_index":1213,"t":{"43":{"position":[[996,4]]},"180":{"position":[[211,4],[326,4]]}}}],["copy.copy(self.state",{"_index":1226,"t":{"43":{"position":[[1298,21]]}}}],["core",{"_index":1266,"t":{"43":{"position":[[3455,4]]}}}],["cornerstone",{"_index":1181,"t":{"43":{"position":[[70,11]]}}}],["correct",{"_index":124,"t":{"3":{"position":[[1823,8]]},"5":{"position":[[296,8]]},"7":{"position":[[393,8]]},"13":{"position":[[1816,7]]},"15":{"position":[[128,7]]},"17":{"position":[[1134,7],[1285,7]]},"43":{"position":[[3511,8]]},"45":{"position":[[1051,7]]}}}],["correctly",{"_index":275,"t":{"5":{"position":[[1968,9],[2239,9],[2898,9],[3416,9]]},"9":{"position":[[140,9],[436,9]]},"13":{"position":[[1359,9],[2802,9]]},"15":{"position":[[701,9]]},"21":{"position":[[337,9],[421,9]]}}}],["correctness",{"_index":5,"t":{"3":{"position":[[58,11]]}}}],["corresponding",{"_index":2197,"t":{"198":{"position":[[76,13]]}}}],["corresponds",{"_index":355,"t":{"5":{"position":[[3673,11]]},"7":{"position":[[283,11],[344,11]]},"9":{"position":[[894,11]]},"29":{"position":[[585,11]]}}}],["cost",{"_index":1304,"t":{"47":{"position":[[378,4]]},"58":{"position":[[176,5]]},"190":{"position":[[166,4]]}}}],["costs",{"_index":1796,"t":{"114":{"position":[[1677,6]]}}}],["couch",{"_index":2037,"t":{"147":{"position":[[99,6],[206,6],[325,6]]},"149":{"position":[[140,5]]},"153":{"position":[[1039,5],[1247,8],[1604,6]]}}}],["counter",{"_index":1881,"t":{"139":{"position":[[127,7],[392,7],[608,8],[1151,7],[1370,7],[1477,7],[1792,8],[1989,7]]},"145":{"position":[[1515,10],[2482,7],[2840,7],[3068,8]]}}}],["counter's",{"_index":2030,"t":{"145":{"position":[[3135,9]]}}}],["couple",{"_index":2144,"t":{"176":{"position":[[12,6]]}}}],["coverage",{"_index":610,"t":{"13":{"position":[[950,9],[975,8]]},"17":{"position":[[683,8],[1037,8]]},"21":{"position":[[1591,8],[2321,9]]},"25":{"position":[[518,9]]}}}],["covered",{"_index":930,"t":{"29":{"position":[[665,7]]}}}],["covers",{"_index":1598,"t":{"84":{"position":[[113,6]]}}}],["create",{"_index":1350,"t":{"52":{"position":[[184,6]]},"56":{"position":[[266,7]]},"78":{"position":[[281,6]]},"100":{"position":[[223,6]]},"117":{"position":[[153,6]]},"136":{"position":[[154,6],[316,6]]},"145":{"position":[[47,6]]},"153":{"position":[[47,6]]},"180":{"position":[[82,7],[195,7]]},"190":{"position":[[193,6]]},"253":{"position":[[416,6]]},"325":{"position":[[162,6],[293,7]]},"327":{"position":[[82,6]]}}}],["create_detector(name",{"_index":1818,"t":{"117":{"position":[[264,21]]}}}],["created",{"_index":1175,"t":{"41":{"position":[[3078,7]]},"43":{"position":[[1665,7],[2561,7],[3058,7]]},"117":{"position":[[122,7]]}}}],["creates",{"_index":1883,"t":{"139":{"position":[[184,7]]}}}],["creating",{"_index":1662,"t":{"92":{"position":[[9,8]]},"117":{"position":[[219,8]]},"147":{"position":[[143,8]]},"182":{"position":[[156,8]]},"325":{"position":[[7,8]]}}}],["creation",{"_index":1568,"t":{"80":{"position":[[299,10]]}}}],["credible",{"_index":939,"t":{"31":{"position":[[732,8],[804,8]]}}}],["crowded",{"_index":1927,"t":{"139":{"position":[[1531,7]]}}}],["crucial",{"_index":1190,"t":{"43":{"position":[[455,7]]}}}],["cumulative",{"_index":444,"t":{"7":{"position":[[777,10],[1495,10]]}}}],["cup_{i=1}^n",{"_index":919,"t":{"29":{"position":[[268,12]]}}}],["curl",{"_index":2245,"t":{"216":{"position":[[442,4],[609,4]]}}}],["current",{"_index":1155,"t":{"41":{"position":[[2291,7]]},"43":{"position":[[147,7]]},"182":{"position":[[51,7]]},"303":{"position":[[493,7]]}}}],["current_hour",{"_index":1985,"t":{"145":{"position":[[1266,12],[1329,12],[2540,12],[2578,12]]}}}],["current_time",{"_index":2010,"t":{"145":{"position":[[2275,12]]}}}],["current_time.strftime(\"%i%p",{"_index":2014,"t":{"145":{"position":[[2374,29]]}}}],["currently",{"_index":1244,"t":{"43":{"position":[[2124,9],[2835,9]]},"47":{"position":[[146,10]]}}}],["curve",{"_index":465,"t":{"7":{"position":[[1336,7],[1777,6]]}}}],["custom",{"_index":1037,"t":{"39":{"position":[[162,6]]},"92":{"position":[[18,6]]},"315":{"position":[[142,6]]}}}],["customer",{"_index":120,"t":{"3":{"position":[[1753,9],[1766,8]]},"139":{"position":[[260,9],[844,8],[1047,8],[1415,8],[1568,8],[1614,8],[2103,8]]},"145":{"position":[[1491,8],[3040,8]]}}}],["customers",{"_index":14,"t":{"3":{"position":[[175,9],[432,9]]},"25":{"position":[[92,10]]},"139":{"position":[[138,9],[769,10],[1125,9],[1339,9]]}}}],["customize",{"_index":1958,"t":{"145":{"position":[[710,9]]}}}],["cutting",{"_index":1698,"t":{"102":{"position":[[187,7]]}}}],["cv2",{"_index":1462,"t":{"66":{"position":[[951,3]]},"76":{"position":[[322,3]]},"145":{"position":[[175,3]]},"153":{"position":[[175,3]]}}}],["cv2.color_bgr2rgb",{"_index":1957,"t":{"145":{"position":[[604,19]]},"153":{"position":[[491,19]]}}}],["cv2.videocapture(0",{"_index":1467,"t":{"66":{"position":[[1068,19]]},"76":{"position":[[332,19]]},"145":{"position":[[472,19]]},"153":{"position":[[359,19]]}}}],["d",{"_index":291,"t":{"5":{"position":[[2353,3]]},"19":{"position":[[398,3],[462,3],[499,1],[606,2],[643,1],[873,4],[1002,2]]},"86":{"position":[[228,1]]},"114":{"position":[[1156,1]]},"127":{"position":[[670,1]]}}}],["d(x,y)∼d",{"_index":266,"t":{"5":{"position":[[1736,8]]}}}],["d(xi​,yi​)∼d",{"_index":315,"t":{"5":{"position":[[2814,12]]}}}],["d+d^+d",{"_index":732,"t":{"19":{"position":[[381,7]]}}}],["daemon",{"_index":2399,"t":{"325":{"position":[[154,7]]}}}],["daily",{"_index":1891,"t":{"139":{"position":[[448,5],[2009,5]]},"141":{"position":[[132,5]]},"145":{"position":[[672,5],[2651,6],[3204,5]]}}}],["daily_log",{"_index":1993,"t":{"145":{"position":[[1645,9],[2618,9],[2681,10],[2880,9]]}}}],["daily_log.append(msg",{"_index":2019,"t":{"145":{"position":[[2509,21]]}}}],["daily_summary",{"_index":2020,"t":{"145":{"position":[[2635,13],[2692,13]]}}}],["dashboard",{"_index":1421,"t":{"60":{"position":[[646,9]]},"136":{"position":[[141,9]]},"145":{"position":[[33,9]]},"153":{"position":[[33,9]]},"178":{"position":[[52,9]]},"253":{"position":[[402,9]]}}}],["data",{"_index":1097,"t":{"41":{"position":[[443,4],[2813,4],[3020,4]]},"78":{"position":[[212,4]]},"114":{"position":[[2016,4]]},"132":{"position":[[103,5]]},"139":{"position":[[1269,4]]},"153":{"position":[[805,4],[839,5],[864,4]]}}}],["database",{"_index":1457,"t":{"66":{"position":[[735,9],[831,8],[1351,8]]},"68":{"position":[[415,8]]}}}],["dataset",{"_index":1834,"t":{"127":{"position":[[160,8]]},"132":{"position":[[446,8]]}}}],["date",{"_index":2170,"t":{"182":{"position":[[250,4]]}}}],["datetime",{"_index":1945,"t":{"145":{"position":[[257,8],[273,9]]}}}],["datetime.now",{"_index":2006,"t":{"145":{"position":[[2145,14]]}}}],["datetime.now().hour",{"_index":1986,"t":{"145":{"position":[[1281,19],[2555,19]]}}}],["datetime.now().replace(hour=start_of_business",{"_index":2011,"t":{"145":{"position":[[2290,46]]}}}],["datetime.now().replace(minute=0",{"_index":1995,"t":{"145":{"position":[[1680,32]]}}}],["day",{"_index":218,"t":{"5":{"position":[[758,3]]},"33":{"position":[[367,4]]},"35":{"position":[[340,4]]},"139":{"position":[[163,4],[429,4],[891,3]]},"145":{"position":[[3185,4]]}}}],["days",{"_index":1903,"t":{"139":{"position":[[907,4]]}}}],["daytime",{"_index":203,"t":{"5":{"position":[[477,7],[565,7]]}}}],["db.get_next_image_query_id",{"_index":1488,"t":{"68":{"position":[[428,28],[666,28],[1219,28]]}}}],["db.save(image_query.id",{"_index":1461,"t":{"66":{"position":[[883,24],[1296,23]]}}}],["ddd",{"_index":254,"t":{"5":{"position":[[1553,4],[1574,3],[1791,4],[2282,4],[2460,3],[2642,4],[3659,4],[4522,4]]},"9":{"position":[[383,3],[2105,3]]},"19":{"position":[[330,3]]}}}],["debian",{"_index":2223,"t":{"214":{"position":[[92,6]]}}}],["debug",{"_index":1669,"t":{"94":{"position":[[133,5]]}}}],["debugging",{"_index":1618,"t":{"86":{"position":[[413,9]]},"90":{"position":[[150,9]]}}}],["decades",{"_index":1564,"t":{"80":{"position":[[173,7]]}}}],["decide",{"_index":1311,"t":{"47":{"position":[[550,6]]}}}],["decided",{"_index":598,"t":{"13":{"position":[[434,7]]}}}],["decides",{"_index":1160,"t":{"41":{"position":[[2501,7]]}}}],["decision",{"_index":367,"t":{"5":{"position":[[3884,8]]}}}],["decisions",{"_index":1919,"t":{"139":{"position":[[1281,9],[2061,9]]}}}],["decompose",{"_index":729,"t":{"19":{"position":[[320,9]]}}}],["def",{"_index":659,"t":{"13":{"position":[[2672,3],[2848,3],[2886,3]]},"43":{"position":[[1098,3],[1166,3],[1246,3]]},"145":{"position":[[445,3],[766,3],[1234,3]]},"153":{"position":[[332,3],[579,3]]},"253":{"position":[[593,3]]}}}],["default",{"_index":1469,"t":{"66":{"position":[[1118,7]]},"76":{"position":[[382,7]]},"98":{"position":[[202,7]]},"216":{"position":[[38,8],[489,7]]},"241":{"position":[[199,7]]},"245":{"position":[[51,8]]}}}],["defaults",{"_index":1821,"t":{"121":{"position":[[57,8]]},"125":{"position":[[57,8]]}}}],["defeating",{"_index":1342,"t":{"49":{"position":[[520,9]]}}}],["defects",{"_index":1740,"t":{"108":{"position":[[153,7]]}}}],["define",{"_index":195,"t":{"5":{"position":[[339,6],[2185,6]]},"19":{"position":[[179,6],[243,6]]},"145":{"position":[[377,6],[642,6],[1120,6]]},"153":{"position":[[264,6],[529,6]]}}}],["defined",{"_index":436,"t":{"7":{"position":[[668,7],[1077,7]]},"13":{"position":[[1503,7]]},"15":{"position":[[863,7]]},"19":{"position":[[743,7],[1105,7]]}}}],["definition",{"_index":619,"t":{"13":{"position":[[1229,10],[1425,11],[1867,10],[2125,10]]},"15":{"position":[[785,11]]}}}],["definitions",{"_index":752,"t":{"21":{"position":[[15,11]]},"307":{"position":[[153,12]]}}}],["degrade",{"_index":2262,"t":{"239":{"position":[[336,8]]}}}],["degree",{"_index":132,"t":{"3":{"position":[[1998,6]]}}}],["delay",{"_index":1992,"t":{"145":{"position":[[1625,5]]}}}],["delayed",{"_index":1768,"t":{"114":{"position":[[408,7]]}}}],["delete",{"_index":2172,"t":{"184":{"position":[[59,8]]}}}],["delta",{"_index":614,"t":{"13":{"position":[[1010,9],[1037,8],[1072,8],[1157,9],[1172,8],[1272,8],[1449,10],[1560,7],[1604,6],[1728,8],[2081,8],[2401,8],[2703,7],[2734,7],[3013,6]]},"15":{"position":[[625,8],[809,10],[930,7],[982,6]]},"17":{"position":[[311,10]]},"21":{"position":[[859,10],[1494,5],[1611,9],[1691,5],[2280,9]]}}}],["delta/4",{"_index":772,"t":{"21":{"position":[[1078,9],[1319,9]]}}}],["delta/4)acc+​(h)=p​(n+,k+,δ/4",{"_index":775,"t":{"21":{"position":[[1159,31]]}}}],["delta/4)acc−​(h)=p​(n−,k−,δ/4",{"_index":778,"t":{"21":{"position":[[1400,31]]}}}],["delta4⋅(δ/4",{"_index":801,"t":{"21":{"position":[[2196,16]]}}}],["deltafn,p​(k",{"_index":641,"t":{"13":{"position":[[2315,17]]}}}],["deltaδ/2",{"_index":711,"t":{"17":{"position":[[464,13],[612,10]]}}}],["demonstrates",{"_index":1032,"t":{"39":{"position":[[19,12]]},"139":{"position":[[13,12]]},"192":{"position":[[90,12]]}}}],["denote",{"_index":267,"t":{"5":{"position":[[1745,6]]},"21":{"position":[[174,6],[228,6],[282,6],[366,6],[568,6]]}}}],["density",{"_index":445,"t":{"7":{"position":[[788,7]]}}}],["depected",{"_index":2379,"t":{"315":{"position":[[249,9]]}}}],["dependent",{"_index":222,"t":{"5":{"position":[[866,10]]},"245":{"position":[[150,9]]}}}],["depicts",{"_index":347,"t":{"5":{"position":[[3498,7]]}}}],["deploy",{"_index":1039,"t":{"39":{"position":[[212,6]]},"56":{"position":[[812,6]]},"303":{"position":[[56,6],[123,6]]},"311":{"position":[[27,6]]},"315":{"position":[[55,6]]},"319":{"position":[[26,6]]},"325":{"position":[[318,8],[330,6]]}}}],["deployed",{"_index":1438,"t":{"64":{"position":[[288,8]]},"305":{"position":[[62,8]]}}}],["deployment",{"_index":980,"t":{"33":{"position":[[687,10]]},"35":{"position":[[660,10]]},"39":{"position":[[116,10],[1504,10]]},"301":{"position":[[40,10]]}}}],["depth",{"_index":1359,"t":{"56":{"position":[[12,5]]}}}],["derivation",{"_index":941,"t":{"31":{"position":[[790,10]]}}}],["derive",{"_index":589,"t":{"13":{"position":[[62,6]]},"17":{"position":[[24,6],[139,6]]}}}],["derived",{"_index":818,"t":{"23":{"position":[[33,7]]},"25":{"position":[[734,8]]}}}],["described",{"_index":587,"t":{"13":{"position":[[30,9]]},"39":{"position":[[847,9]]},"214":{"position":[[375,9]]},"234":{"position":[[233,9]]},"297":{"position":[[178,9]]}}}],["describes",{"_index":155,"t":{"3":{"position":[[2498,9]]}}}],["description",{"_index":1623,"t":{"86":{"position":[[475,11]]}}}],["descriptive",{"_index":2161,"t":{"180":{"position":[[134,11]]},"182":{"position":[[121,11]]}}}],["design",{"_index":975,"t":{"33":{"position":[[584,6],[660,6]]},"35":{"position":[[557,6],[633,6]]}}}],["designed",{"_index":998,"t":{"37":{"position":[[52,8]]},"303":{"position":[[13,8]]}}}],["desire",{"_index":784,"t":{"21":{"position":[[1572,6]]},"31":{"position":[[672,6]]}}}],["desired",{"_index":805,"t":{"21":{"position":[[2304,7]]},"23":{"position":[[127,7]]},"56":{"position":[[447,7]]},"114":{"position":[[556,7],[783,7],[1900,7]]}}}],["desk",{"_index":1884,"t":{"139":{"position":[[232,4]]}}}],["despite",{"_index":1683,"t":{"98":{"position":[[109,7]]}}}],["det",{"_index":1521,"t":{"74":{"position":[[170,3]]},"130":{"position":[[125,3]]},"136":{"position":[[402,3]]}}}],["detail",{"_index":1189,"t":{"43":{"position":[[445,6]]}}}],["detailed",{"_index":876,"t":{"25":{"position":[[357,8]]},"52":{"position":[[396,8]]}}}],["details",{"_index":57,"t":{"3":{"position":[[695,7],[1395,7],[2364,7]]}}}],["detect",{"_index":1585,"t":{"80":{"position":[[1119,6]]}}}],["detected",{"_index":2028,"t":{"145":{"position":[[3052,8]]},"147":{"position":[[190,8]]},"153":{"position":[[1231,8],[1588,8]]}}}],["detection",{"_index":1297,"t":{"47":{"position":[[76,9],[503,10]]},"52":{"position":[[246,9]]}}}],["detector",{"_index":12,"t":{"3":{"position":[[148,8],[1377,8]]},"33":{"position":[[740,8]]},"35":{"position":[[713,8]]},"41":{"position":[[826,8],[1540,8]]},"66":{"position":[[978,8]]},"68":{"position":[[565,8]]},"70":{"position":[[526,8]]},"114":{"position":[[624,9]]},"117":{"position":[[98,8],[234,8],[365,8]]},"119":{"position":[[55,8]]},"139":{"position":[[194,8],[284,8]]},"145":{"position":[[1412,8]]},"153":{"position":[[994,8],[1045,10]]},"156":{"position":[[202,8]]},"190":{"position":[[116,8]]},"253":{"position":[[836,8],[1014,8],[1135,8],[1867,8]]},"301":{"position":[[56,8]]},"303":{"position":[[80,8],[135,8],[311,8]]},"305":{"position":[[71,9]]}}}],["detector's",{"_index":61,"t":{"3":{"position":[[722,10],[1887,10],[2243,10],[2344,10]]},"41":{"position":[[1023,10]]}}}],["detector(s",{"_index":2380,"t":{"315":{"position":[[300,12]]}}}],["detector=detector",{"_index":2003,"t":{"145":{"position":[[1976,18]]},"153":{"position":[[1147,18]]}}}],["detector_name",{"_index":2299,"t":{"253":{"position":[[627,14],[973,14]]}}}],["detectors",{"_index":8,"t":{"3":{"position":[[94,10]]},"25":{"position":[[153,9]]},"39":{"position":[[448,9],[509,9]]},"56":{"position":[[242,10],[293,9],[481,10]]},"121":{"position":[[89,9],[166,9]]},"156":{"position":[[19,10]]},"247":{"position":[[42,9]]},"311":{"position":[[51,9]]},"315":{"position":[[99,10]]}}}],["detects",{"_index":2261,"t":{"239":{"position":[[224,7]]}}}],["determination",{"_index":1343,"t":{"49":{"position":[[530,14]]}}}],["determine",{"_index":1227,"t":{"43":{"position":[[1355,9],[1585,9]]}}}],["determines",{"_index":1165,"t":{"41":{"position":[[2727,10]]},"114":{"position":[[639,10]]}}}],["determining",{"_index":405,"t":{"7":{"position":[[33,11],[147,11]]},"9":{"position":[[232,11]]},"43":{"position":[[1710,11],[1769,11],[2595,11],[2669,11],[3092,11]]}}}],["dev",{"_index":2418,"t":{"329":{"position":[[159,3]]}}}],["developed",{"_index":997,"t":{"37":{"position":[[18,10]]},"80":{"position":[[163,9]]}}}],["developing",{"_index":969,"t":{"33":{"position":[[484,10]]},"35":{"position":[[457,10]]}}}],["development",{"_index":2373,"t":{"311":{"position":[[150,11]]}}}],["deviation",{"_index":842,"t":{"23":{"position":[[758,9],[1340,10]]}}}],["device",{"_index":1406,"t":{"60":{"position":[[65,8],[84,6],[115,7]]},"198":{"position":[[199,6]]},"303":{"position":[[436,7]]},"315":{"position":[[345,6]]},"325":{"position":[[87,6]]}}}],["devices",{"_index":1397,"t":{"58":{"position":[[90,8]]},"110":{"position":[[291,7]]},"239":{"position":[[54,8]]},"269":{"position":[[70,8]]}}}],["diagram",{"_index":1174,"t":{"41":{"position":[[3070,7],[3116,7]]},"43":{"position":[[563,7],[1657,7],[2553,7],[3050,7]]}}}],["difference",{"_index":1577,"t":{"80":{"position":[[814,10],[1080,10]]}}}],["different",{"_index":16,"t":{"3":{"position":[[197,9]]},"11":{"position":[[397,9]]},"39":{"position":[[706,9]]},"82":{"position":[[32,9],[265,9]]},"86":{"position":[[97,9]]},"165":{"position":[[37,9],[63,9]]},"323":{"position":[[20,9],[62,9]]}}}],["differentiate",{"_index":1663,"t":{"92":{"position":[[99,13]]}}}],["differently",{"_index":533,"t":{"9":{"position":[[2036,12]]}}}],["difficult",{"_index":1658,"t":{"90":{"position":[[160,9]]}}}],["directly",{"_index":643,"t":{"13":{"position":[[2355,8]]},"74":{"position":[[42,8]]},"76":{"position":[[272,8]]},"127":{"position":[[415,9]]},"174":{"position":[[61,8]]},"176":{"position":[[568,8]]},"245":{"position":[[209,9]]}}}],["directory",{"_index":2323,"t":{"253":{"position":[[1766,9]]},"321":{"position":[[67,9]]},"327":{"position":[[196,9]]}}}],["dirty",{"_index":945,"t":{"33":{"position":[[106,5]]},"35":{"position":[[79,5]]},"37":{"position":[[298,5]]},"43":{"position":[[2138,5],[2242,5],[2398,5],[2614,5]]},"45":{"position":[[362,5]]}}}],["discord",{"_index":1015,"t":{"37":{"position":[[406,7],[682,7],[859,7]]},"39":{"position":[[1124,7],[1192,7],[1235,7],[1251,7]]},"41":{"position":[[559,7],[2669,7],[2855,7],[2893,7],[3054,7]]},"43":{"position":[[2048,7],[2772,7]]},"45":{"position":[[28,7],[71,7],[108,7],[433,7]]}}}],["discord’s",{"_index":1282,"t":{"45":{"position":[[693,9]]}}}],["discover",{"_index":1383,"t":{"56":{"position":[[796,8]]}}}],["discussing",{"_index":593,"t":{"13":{"position":[[155,10]]}}}],["discussion",{"_index":678,"t":{"15":{"position":[[22,10]]}}}],["dish",{"_index":1115,"t":{"41":{"position":[[1066,4]]},"43":{"position":[[2404,4]]},"49":{"position":[[515,4]]}}}],["dishes",{"_index":946,"t":{"33":{"position":[[112,6],[881,6]]},"35":{"position":[[85,6],[854,6]]},"37":{"position":[[113,6],[304,6],[502,6],[794,7]]},"41":{"position":[[1154,7]]},"43":{"position":[[2144,6],[2248,6],[2436,6],[2620,6],[2845,6],[3026,6]]},"45":{"position":[[398,7],[953,6]]}}}],["display",{"_index":131,"t":{"3":{"position":[[1986,7],[2169,7]]},"25":{"position":[[686,8]]},"208":{"position":[[52,7]]},"228":{"position":[[52,7]]},"291":{"position":[[52,7]]}}}],["displaying",{"_index":106,"t":{"3":{"position":[[1522,10]]},"98":{"position":[[144,10]]}}}],["displays",{"_index":59,"t":{"3":{"position":[[708,8],[2377,8]]}}}],["distribution",{"_index":161,"t":{"3":{"position":[[2592,13],[2747,13]]},"5":{"position":[[951,12],[1037,12],[1371,12],[1449,12],[1502,12],[3633,12],[4249,13],[4496,12]]},"7":{"position":[[425,12],[1249,12]]},"9":{"position":[[812,12]]},"23":{"position":[[262,13],[391,12],[437,12],[527,12],[1084,12],[1130,12]]},"27":{"position":[[197,13]]}}}],["distribution's",{"_index":2220,"t":{"214":{"position":[[9,14]]}}}],["distributions",{"_index":479,"t":{"7":{"position":[[1813,13]]},"19":{"position":[[262,13],[366,14],[796,14]]}}}],["distutils",{"_index":2244,"t":{"216":{"position":[[432,9]]}}}],["dlp",{"_index":2285,"t":{"251":{"position":[[223,3]]},"253":{"position":[[85,3]]}}}],["dnf",{"_index":2229,"t":{"214":{"position":[[221,3]]}}}],["docker",{"_index":1404,"t":{"60":{"position":[[35,6]]},"188":{"position":[[101,6],[203,6],[228,6]]},"263":{"position":[[12,6],[73,6],[164,6]]},"277":{"position":[[12,6],[74,6],[165,6]]},"319":{"position":[[49,6]]},"321":{"position":[[13,6],[37,6],[84,6],[125,6],[152,6],[172,6]]},"323":{"position":[[72,6],[102,6],[120,6],[165,6],[192,6],[212,6]]},"325":{"position":[[52,6],[147,6]]}}}],["docs/static/img/doorway.jpg",{"_index":1848,"t":{"130":{"position":[[209,31]]},"136":{"position":[[486,31]]}}}],["document",{"_index":2038,"t":{"147":{"position":[[111,8]]}}}],["documentation",{"_index":1284,"t":{"45":{"position":[[710,13]]},"66":{"position":[[174,13]]},"70":{"position":[[448,13]]},"218":{"position":[[159,13]]},"236":{"position":[[159,13]]},"267":{"position":[[159,13]]},"299":{"position":[[159,13]]}}}],["doesn't",{"_index":477,"t":{"7":{"position":[[1739,7]]},"9":{"position":[[1702,7]]},"117":{"position":[[176,7]]}}}],["dog",{"_index":2036,"t":{"147":{"position":[[87,3],[183,3],[306,3],[378,3]]},"149":{"position":[[152,3]]},"153":{"position":[[1581,3]]}}}],["dog_on_couch_detector.py",{"_index":2080,"t":{"153":{"position":[[1693,24],[1737,24]]}}}],["doing",{"_index":601,"t":{"13":{"position":[[612,5]]},"45":{"position":[[388,5]]}}}],["domain.com/wp",{"_index":1780,"t":{"114":{"position":[[1027,13]]}}}],["don't",{"_index":937,"t":{"31":{"position":[[639,5]]},"167":{"position":[[47,5]]},"176":{"position":[[339,5]]},"243":{"position":[[474,5],[520,5]]},"303":{"position":[[451,5]]}}}],["done",{"_index":652,"t":{"13":{"position":[[2563,4]]},"45":{"position":[[182,5]]},"66":{"position":[[724,4]]},"243":{"position":[[446,4]]},"311":{"position":[[103,4]]}}}],["door",{"_index":2189,"t":{"192":{"position":[[56,4],[138,4],[183,4],[220,4]]}}}],["doorway",{"_index":1841,"t":{"127":{"position":[[730,7]]},"130":{"position":[[187,7]]},"136":{"position":[[464,7]]}}}],["dot",{"_index":354,"t":{"5":{"position":[[3669,3]]}}}],["dot's",{"_index":360,"t":{"5":{"position":[[3762,5]]}}}],["dotted",{"_index":364,"t":{"5":{"position":[[3848,6]]}}}],["down",{"_index":1048,"t":{"39":{"position":[[635,4]]},"41":{"position":[[609,4]]},"43":{"position":[[1413,4]]}}}],["download",{"_index":1395,"t":{"58":{"position":[[51,8]]},"216":{"position":[[581,8]]},"234":{"position":[[0,8]]},"253":{"position":[[142,8]]},"297":{"position":[[0,8]]}}}],["downloading",{"_index":1412,"t":{"60":{"position":[[205,11]]}}}],["drawn",{"_index":286,"t":{"5":{"position":[[2271,5],[2624,5]]}}}],["drifts",{"_index":214,"t":{"5":{"position":[[729,6]]}}}],["driven",{"_index":1918,"t":{"139":{"position":[[1274,6]]}}}],["due",{"_index":723,"t":{"17":{"position":[[1046,3]]},"86":{"position":[[812,3]]},"127":{"position":[[483,3]]}}}],["during",{"_index":1596,"t":{"84":{"position":[[85,6]]},"86":{"position":[[26,6]]},"139":{"position":[[723,6]]},"192":{"position":[[252,6]]}}}],["d−d",{"_index":733,"t":{"19":{"position":[[393,4]]}}}],["e",{"_index":1616,"t":{"86":{"position":[[386,2]]},"145":{"position":[[2024,2],[2065,5]]},"153":{"position":[[1308,2],[1349,5]]}}}],["e.g",{"_index":1077,"t":{"39":{"position":[[1332,5]]},"45":{"position":[[339,5]]},"94":{"position":[[43,6]]},"145":{"position":[[1193,4],[1225,4]]},"149":{"position":[[112,6]]},"212":{"position":[[140,6]]},"232":{"position":[[140,6]]},"295":{"position":[[146,6]]}}}],["e.reason",{"_index":1620,"t":{"86":{"position":[[447,8],[522,12]]}}}],["e.status",{"_index":1625,"t":{"86":{"position":[[537,8],[602,12]]}}}],["e_{(x,y",{"_index":743,"t":{"19":{"position":[[859,8],[988,8]]}}}],["each",{"_index":60,"t":{"3":{"position":[[717,4],[2238,4]]},"5":{"position":[[1558,4],[2784,4],[3664,4]]},"17":{"position":[[650,4]]},"19":{"position":[[295,4],[767,4]]},"21":{"position":[[1790,4],[2023,4]]},"29":{"position":[[210,4],[564,4]]},"31":{"position":[[426,4],[536,4]]},"39":{"position":[[688,4]]},"41":{"position":[[124,4],[1942,4]]},"43":{"position":[[1630,4],[1784,4]]},"182":{"position":[[224,4]]}}}],["earlier",{"_index":2233,"t":{"214":{"position":[[385,8]]},"234":{"position":[[243,8]]},"297":{"position":[[188,8]]}}}],["early",{"_index":1589,"t":{"82":{"position":[[115,5]]},"100":{"position":[[97,5]]}}}],["easier",{"_index":73,"t":{"3":{"position":[[1018,6]]}}}],["easiest",{"_index":2239,"t":{"216":{"position":[[171,7]]},"311":{"position":[[12,7]]}}}],["easily",{"_index":632,"t":{"13":{"position":[[2103,6]]},"25":{"position":[[125,6]]},"110":{"position":[[48,6]]},"114":{"position":[[387,6]]},"180":{"position":[[163,6]]},"315":{"position":[[74,6]]}}}],["easy",{"_index":1038,"t":{"39":{"position":[[204,4]]},"56":{"position":[[653,4]]},"188":{"position":[[89,4]]},"303":{"position":[[36,4]]}}}],["edge",{"_index":1382,"t":{"56":{"position":[[790,5],[834,4]]},"58":{"position":[[30,4],[85,4],[152,5]]},"60":{"position":[[4,4],[59,5],[79,4],[172,4],[310,4],[373,4],[502,4],[603,4],[715,4]]},"62":{"position":[[44,4]]},"102":{"position":[[195,4]]},"134":{"position":[[118,4]]},"239":{"position":[[49,4]]}}}],["effective",{"_index":1305,"t":{"47":{"position":[[383,10]]}}}],["effectively",{"_index":1670,"t":{"94":{"position":[[151,11]]}}}],["effectiveness",{"_index":1915,"t":{"139":{"position":[[1189,13]]}}}],["efficiency",{"_index":1702,"t":{"102":{"position":[[306,11]]}}}],["efficient",{"_index":1720,"t":{"104":{"position":[[324,10]]}}}],["efficiently",{"_index":653,"t":{"13":{"position":[[2568,11]]}}}],["effort",{"_index":871,"t":{"25":{"position":[[47,6]]},"49":{"position":[[477,7]]}}}],["effortlessly",{"_index":1323,"t":{"49":{"position":[[131,12]]}}}],["egg",{"_index":343,"t":{"5":{"position":[[3469,3]]}}}],["elif",{"_index":1495,"t":{"68":{"position":[[984,4],[1063,4]]}}}],["ellipse",{"_index":351,"t":{"5":{"position":[[3605,7]]}}}],["email",{"_index":1937,"t":{"139":{"position":[[2023,6]]},"141":{"position":[[89,5]]},"145":{"position":[[686,6]]},"305":{"position":[[81,5]]}}}],["email.mime.multipart",{"_index":1947,"t":{"145":{"position":[[298,20]]}}}],["email.mime.text",{"_index":1949,"t":{"145":{"position":[[345,15]]}}}],["emails",{"_index":1890,"t":{"139":{"position":[[437,6]]},"145":{"position":[[3193,6]]}}}],["embedded",{"_index":971,"t":{"33":{"position":[[507,8]]},"35":{"position":[[480,8]]}}}],["emote",{"_index":1288,"t":{"45":{"position":[[868,5],[1026,5]]}}}],["empirical",{"_index":319,"t":{"5":{"position":[[2935,9],[4398,9]]},"9":{"position":[[571,9],[740,9],[1086,9],[1271,9],[1443,9],[1560,9],[1958,9],[2124,9],[2285,9],[2512,9],[2806,9],[3002,9],[3236,9],[3349,9]]},"11":{"position":[[104,9],[199,9]]},"23":{"position":[[457,9],[1295,9],[1443,9]]}}}],["employees",{"_index":1898,"t":{"139":{"position":[[699,9]]}}}],["empty",{"_index":1122,"t":{"41":{"position":[[1207,5]]},"43":{"position":[[2202,6]]}}}],["enabled",{"_index":1270,"t":{"43":{"position":[[3588,7]]},"49":{"position":[[100,7]]}}}],["enables",{"_index":1100,"t":{"41":{"position":[[498,7]]},"52":{"position":[[90,7]]}}}],["enabling",{"_index":1692,"t":{"102":{"position":[[107,8]]},"104":{"position":[[198,8]]},"139":{"position":[[2030,8]]}}}],["encoded",{"_index":1187,"t":{"43":{"position":[[375,7]]}}}],["encounter",{"_index":1595,"t":{"84":{"position":[[61,9]]}}}],["encountered",{"_index":575,"t":{"11":{"position":[[552,11]]}}}],["encourage",{"_index":1328,"t":{"49":{"position":[[278,9]]},"139":{"position":[[1329,9]]}}}],["encourages",{"_index":1018,"t":{"37":{"position":[[458,10]]}}}],["encrypted",{"_index":2138,"t":{"174":{"position":[[362,9]]}}}],["end",{"_index":1889,"t":{"139":{"position":[[418,3]]},"145":{"position":[[3174,3]]},"149":{"position":[[183,3],[190,3]]},"216":{"position":[[56,3]]},"265":{"position":[[15,3],[22,3]]},"279":{"position":[[15,3],[22,3]]}}}],["end_of_business",{"_index":1981,"t":{"145":{"position":[[1202,15],[1344,15],[2594,15]]}}}],["endless",{"_index":49,"t":{"3":{"position":[[589,7]]}}}],["endpoint",{"_index":1403,"t":{"60":{"position":[[9,8],[177,8],[315,9],[414,9],[507,9],[608,8]]},"62":{"position":[[49,9],[83,8]]}}}],["endpoint's",{"_index":1415,"t":{"60":{"position":[[378,10]]}}}],["energy",{"_index":1402,"t":{"58":{"position":[[205,7]]}}}],["engagement",{"_index":1912,"t":{"139":{"position":[[1056,11]]}}}],["engaging",{"_index":1326,"t":{"49":{"position":[[214,8]]}}}],["enhance",{"_index":1084,"t":{"41":{"position":[[84,7]]},"110":{"position":[[128,7]]}}}],["enhancing",{"_index":1701,"t":{"102":{"position":[[296,9]]}}}],["enough",{"_index":108,"t":{"3":{"position":[[1574,7]]},"5":{"position":[[324,7]]},"13":{"position":[[2968,6]]},"132":{"position":[[135,6]]},"139":{"position":[[692,6]]}}}],["ensure",{"_index":548,"t":{"9":{"position":[[2675,6]]},"98":{"position":[[61,6]]},"100":{"position":[[15,6],[107,6]]},"143":{"position":[[0,6]]},"151":{"position":[[0,6]]},"202":{"position":[[0,6]]},"222":{"position":[[0,6]]},"251":{"position":[[0,6]]},"253":{"position":[[238,6]]},"257":{"position":[[0,6]]},"271":{"position":[[0,6]]},"285":{"position":[[0,6]]}}}],["ensures",{"_index":1203,"t":{"43":{"position":[[791,7],[2311,7],[2481,7],[2745,7],[2908,7]]}}}],["ensuring",{"_index":1193,"t":{"43":{"position":[[497,8],[910,8]]},"108":{"position":[[66,8]]},"139":{"position":[[678,8],[1801,8]]}}}],["enter",{"_index":2401,"t":{"325":{"position":[[203,6]]}}}],["environment",{"_index":1431,"t":{"62":{"position":[[259,11]]},"110":{"position":[[401,12]]},"136":{"position":[[222,11]]},"145":{"position":[[753,12]]},"174":{"position":[[383,11]]},"176":{"position":[[60,11],[155,11],[442,11]]}}}],["environments",{"_index":1384,"t":{"56":{"position":[[849,12]]}}}],["equal",{"_index":475,"t":{"7":{"position":[[1711,5]]},"9":{"position":[[730,5],[1990,5]]},"23":{"position":[[1273,5],[1374,5],[1430,5]]}}}],["equals",{"_index":335,"t":{"5":{"position":[[3266,6]]},"15":{"position":[[452,6]]},"31":{"position":[[609,6]]}}}],["equipment",{"_index":1716,"t":{"104":{"position":[[184,10]]}}}],["error",{"_index":686,"t":{"15":{"position":[[415,5],[441,5],[574,5]]},"86":{"position":[[20,5],[494,5],[990,6],[1000,5]]},"94":{"position":[[50,6]]},"98":{"position":[[158,5]]},"100":{"position":[[32,5]]}}}],["errors",{"_index":860,"t":{"23":{"position":[[1226,6]]},"56":{"position":[[508,7],[563,6]]},"84":{"position":[[78,6],[139,6]]},"92":{"position":[[73,7],[121,6]]},"96":{"position":[[87,7]]},"98":{"position":[[117,7]]},"100":{"position":[[147,6],[287,6]]}}}],["escalate",{"_index":1765,"t":{"114":{"position":[[256,8]]}}}],["escalated",{"_index":1772,"t":{"114":{"position":[[734,10],[1939,9]]},"132":{"position":[[238,9]]}}}],["escalation",{"_index":1770,"t":{"114":{"position":[[595,10]]},"127":{"position":[[197,10],[466,10]]},"134":{"position":[[14,10]]}}}],["esp32",{"_index":2201,"t":{"198":{"position":[[186,5]]},"301":{"position":[[71,5]]},"303":{"position":[[95,5],[216,5],[328,5]]},"307":{"position":[[45,5],[174,5],[223,5],[266,5]]},"309":{"position":[[70,6]]}}}],["esp32s3",{"_index":2365,"t":{"307":{"position":[[304,7]]}}}],["estimate",{"_index":114,"t":{"3":{"position":[[1657,8],[1873,8]]},"5":{"position":[[3,8],[2539,8]]},"25":{"position":[[396,8]]}}}],["estimated",{"_index":378,"t":{"5":{"position":[[4157,9]]},"23":{"position":[[1390,9]]},"25":{"position":[[456,9]]}}}],["estimating",{"_index":349,"t":{"5":{"position":[[3522,10]]}}}],["et",{"_index":900,"t":{"27":{"position":[[143,2]]},"31":{"position":[[766,2]]}}}],["etc",{"_index":1120,"t":{"41":{"position":[[1130,4]]},"94":{"position":[[66,5]]}}}],["evaluating",{"_index":300,"t":{"5":{"position":[[2554,10],[4469,10]]}}}],["evaluations",{"_index":1398,"t":{"58":{"position":[[133,11]]}}}],["even",{"_index":220,"t":{"5":{"position":[[804,4]]},"9":{"position":[[1075,4],[2621,4],[2916,4]]},"17":{"position":[[1272,4]]},"60":{"position":[[147,4]]},"132":{"position":[[405,4]]},"263":{"position":[[59,4]]},"277":{"position":[[60,4]]}}}],["event",{"_index":928,"t":{"29":{"position":[[621,5]]},"145":{"position":[[3089,6]]}}}],["events",{"_index":543,"t":{"9":{"position":[[2554,6]]},"29":{"position":[[60,7]]}}}],["everyone",{"_index":1027,"t":{"37":{"position":[[666,8]]}}}],["evidenced",{"_index":553,"t":{"9":{"position":[[2899,9]]}}}],["exact",{"_index":100,"t":{"3":{"position":[[1460,5],[2177,5],[2846,6]]},"11":{"position":[[242,5]]},"13":{"position":[[69,5]]},"21":{"position":[[2351,5]]},"23":{"position":[[80,5],[1648,5]]},"25":{"position":[[260,5],[480,5]]}}}],["exactly",{"_index":296,"t":{"5":{"position":[[2444,7]]},"7":{"position":[[116,7]]},"11":{"position":[[129,7],[627,7]]},"13":{"position":[[449,7],[1878,7]]}}}],["examined",{"_index":485,"t":{"9":{"position":[[15,8]]}}}],["example",{"_index":255,"t":{"5":{"position":[[1563,7],[1778,7],[1992,7],[2263,7],[3697,7]]},"7":{"position":[[275,7]]},"17":{"position":[[482,8]]},"45":{"position":[[796,8]]},"64":{"position":[[254,8]]},"66":{"position":[[796,8]]},"68":{"position":[[331,8]]},"74":{"position":[[84,8]]},"80":{"position":[[966,7]]},"114":{"position":[[749,8]]},"123":{"position":[[71,8],[126,8]]},"139":{"position":[[5,7]]},"147":{"position":[[20,7]]},"161":{"position":[[74,8]]},"247":{"position":[[8,7]]},"265":{"position":[[26,7]]},"279":{"position":[[26,7]]}}}],["examples",{"_index":226,"t":{"5":{"position":[[967,8],[1400,8],[2593,9],[3391,8],[3649,9],[4294,8],[4512,9]]},"9":{"position":[[161,8],[396,9]]},"13":{"position":[[1312,8],[1385,9],[2834,9]]},"15":{"position":[[670,9],[727,9],[1078,8]]},"19":{"position":[[89,8],[142,8],[281,8]]},"21":{"position":[[204,8],[258,8],[312,8],[396,8]]},"25":{"position":[[568,8]]},"54":{"position":[[44,8]]},"156":{"position":[[586,9]]},"186":{"position":[[41,8]]}}}],["exceeded",{"_index":1645,"t":{"86":{"position":[[959,8]]}}}],["excellent",{"_index":1312,"t":{"47":{"position":[[617,9]]}}}],["except",{"_index":1131,"t":{"41":{"position":[[1458,6]]},"60":{"position":[[517,6]]},"86":{"position":[[363,6]]},"145":{"position":[[2004,6]]},"153":{"position":[[1288,6]]}}}],["exception",{"_index":1604,"t":{"86":{"position":[[126,10]]},"90":{"position":[[124,10]]},"92":{"position":[[25,9]]},"145":{"position":[[2011,9]]},"153":{"position":[[1295,9]]}}}],["exceptions",{"_index":1600,"t":{"84":{"position":[[195,11]]},"88":{"position":[[77,10]]},"90":{"position":[[24,10],[108,10]]},"94":{"position":[[4,10]]},"96":{"position":[[14,11]]},"98":{"position":[[23,11]]},"100":{"position":[[304,10]]}}}],["execute",{"_index":1797,"t":{"114":{"position":[[1702,7]]},"253":{"position":[[265,7],[298,7]]}}}],["executing",{"_index":1803,"t":{"114":{"position":[[1855,10]]}}}],["execution",{"_index":1089,"t":{"41":{"position":[[240,9]]}}}],["existing",{"_index":1754,"t":{"110":{"position":[[260,8]]},"117":{"position":[[89,8]]},"127":{"position":[[151,8]]}}}],["exists",{"_index":247,"t":{"5":{"position":[[1362,6]]},"13":{"position":[[1712,6]]},"117":{"position":[[184,7]]}}}],["exited",{"_index":2314,"t":{"253":{"position":[[1404,6]]}}}],["expect",{"_index":1653,"t":{"90":{"position":[[44,6]]}}}],["expected",{"_index":1535,"t":{"76":{"position":[[227,8]]},"80":{"position":[[613,9]]},"100":{"position":[[56,9]]}}}],["expects",{"_index":1561,"t":{"80":{"position":[[12,7]]}}}],["experience",{"_index":1929,"t":{"139":{"position":[[1623,10],[2112,11]]}}}],["explore",{"_index":1922,"t":{"139":{"position":[[1381,7]]},"186":{"position":[[0,7]]}}}],["exploring",{"_index":1390,"t":{"56":{"position":[[1052,9]]}}}],["exponential",{"_index":1673,"t":{"96":{"position":[[53,11]]}}}],["export",{"_index":1433,"t":{"62":{"position":[[286,6]]},"136":{"position":[[262,6]]}}}],["exposition",{"_index":173,"t":{"3":{"position":[[2924,10]]}}}],["expression",{"_index":1265,"t":{"43":{"position":[[3423,10]]}}}],["extending",{"_index":1294,"t":{"47":{"position":[[0,9]]}}}],["extra",{"_index":2240,"t":{"216":{"position":[[292,5]]}}}],["extremely",{"_index":1072,"t":{"39":{"position":[[1269,9],[1405,9]]},"243":{"position":[[11,9]]}}}],["f",{"_index":2393,"t":{"323":{"position":[[118,1]]},"327":{"position":[[166,1]]}}}],["f\"hourly",{"_index":2016,"t":{"145":{"position":[[2421,8]]}}}],["f\"{msg}\\n",{"_index":2022,"t":{"145":{"position":[[2709,10]]}}}],["f1",{"_index":76,"t":{"3":{"position":[[1061,2]]}}}],["f_{n,p}(k",{"_index":625,"t":{"13":{"position":[[1589,10]]}}}],["f_{n,p}(k).fn,p​(k)=j=0∑k​fn,p​(k",{"_index":457,"t":{"7":{"position":[[1137,35]]}}}],["f_{n,p}(n",{"_index":696,"t":{"15":{"position":[[963,9]]}}}],["fact",{"_index":230,"t":{"5":{"position":[[1057,5]]},"9":{"position":[[1015,4],[1481,5]]},"11":{"position":[[472,4]]}}}],["factory",{"_index":2116,"t":{"169":{"position":[[151,7]]}}}],["fail",{"_index":793,"t":{"21":{"position":[[1819,4]]}}}],["failing",{"_index":796,"t":{"21":{"position":[[1962,7]]}}}],["fails",{"_index":797,"t":{"21":{"position":[[2028,6],[2133,5],[2258,5]]}}}],["failure",{"_index":799,"t":{"21":{"position":[[2050,7]]}}}],["fairly",{"_index":521,"t":{"9":{"position":[[1642,6]]}}}],["falling",{"_index":1685,"t":{"98":{"position":[[184,7]]}}}],["false",{"_index":40,"t":{"3":{"position":[[464,5],[537,5]]},"39":{"position":[[1454,6]]},"43":{"position":[[1131,5]]}}}],["familiar",{"_index":170,"t":{"3":{"position":[[2778,8]]}}}],["far",{"_index":235,"t":{"5":{"position":[[1149,3]]}}}],["fast",{"_index":1798,"t":{"114":{"position":[[1732,4]]}}}],["fastapi",{"_index":2420,"t":{"329":{"position":[[231,7]]}}}],["faster",{"_index":994,"t":{"33":{"position":[[899,6]]},"35":{"position":[[872,6]]},"60":{"position":[[557,6]]},"114":{"position":[[544,7]]},"132":{"position":[[622,6]]}}}],["features",{"_index":1286,"t":{"45":{"position":[[782,9]]},"82":{"position":[[159,8]]},"239":{"position":[[395,9]]}}}],["fedora",{"_index":2228,"t":{"214":{"position":[[194,6]]}}}],["feel",{"_index":1329,"t":{"49":{"position":[[322,4]]},"329":{"position":[[287,4]]}}}],["few",{"_index":125,"t":{"3":{"position":[[1844,3]]},"43":{"position":[[1436,3]]},"127":{"position":[[105,3]]},"130":{"position":[[49,3]]},"156":{"position":[[551,3]]},"303":{"position":[[154,3]]}}}],["fewer",{"_index":452,"t":{"7":{"position":[[983,5]]},"13":{"position":[[327,5]]}}}],["ffmpeg",{"_index":2282,"t":{"251":{"position":[[126,6],[175,6],[213,6]]},"253":{"position":[[69,6]]}}}],["fiction",{"_index":233,"t":{"5":{"position":[[1096,8],[1135,7]]}}}],["field",{"_index":1453,"t":{"66":{"position":[[488,5]]}}}],["fields",{"_index":1188,"t":{"43":{"position":[[389,7]]}}}],["figure",{"_index":96,"t":{"3":{"position":[[1363,6],[2465,6]]},"5":{"position":[[4121,6]]},"9":{"position":[[771,6],[1313,6],[2380,6],[3107,6]]},"17":{"position":[[1071,6]]},"21":{"position":[[2979,6]]},"29":{"position":[[513,6]]}}}],["file",{"_index":1849,"t":{"130":{"position":[[258,4]]},"136":{"position":[[535,4]]},"149":{"position":[[107,4]]},"253":{"position":[[223,4]]},"321":{"position":[[8,4],[103,5]]},"327":{"position":[[229,5]]}}}],["file=discord.file(fpath",{"_index":1281,"t":{"45":{"position":[[606,25]]}}}],["files",{"_index":1594,"t":{"82":{"position":[[339,5],[351,5]]}}}],["filtering",{"_index":1138,"t":{"41":{"position":[[1810,9]]}}}],["find",{"_index":128,"t":{"3":{"position":[[1954,4]]},"11":{"position":[[351,4]]},"13":{"position":[[1925,4],[2251,4],[2499,4]]},"21":{"position":[[472,4],[844,4]]},"54":{"position":[[21,4]]},"117":{"position":[[81,4]]},"176":{"position":[[39,4]]},"196":{"position":[[73,4]]},"301":{"position":[[99,4]]}}}],["finished",{"_index":1802,"t":{"114":{"position":[[1846,8]]}}}],["finite",{"_index":301,"t":{"5":{"position":[[2574,6],[3579,6],[4189,6]]},"7":{"position":[[100,6]]}}}],["firmware",{"_index":2356,"t":{"307":{"position":[[108,8]]}}}],["first",{"_index":181,"t":{"5":{"position":[[73,5]]},"13":{"position":[[210,6]]},"21":{"position":[[946,5]]},"43":{"position":[[1843,5]]},"127":{"position":[[76,5]]},"132":{"position":[[16,5],[421,5],[458,5]]},"145":{"position":[[0,6]]},"153":{"position":[[0,6]]},"161":{"position":[[307,5]]}}}],["fixed",{"_index":251,"t":{"5":{"position":[[1470,5]]},"47":{"position":[[206,5]]}}}],["flexibility",{"_index":1054,"t":{"39":{"position":[[799,11]]}}}],["flexible",{"_index":1074,"t":{"39":{"position":[[1292,8]]}}}],["flipping",{"_index":416,"t":{"7":{"position":[[298,8]]}}}],["flips",{"_index":412,"t":{"7":{"position":[[225,6]]},"15":{"position":[[41,5]]}}}],["float",{"_index":2300,"t":{"253":{"position":[[685,5]]}}}],["floats",{"_index":1545,"t":{"78":{"position":[[194,8]]}}}],["floor",{"_index":2117,"t":{"169":{"position":[[159,7]]}}}],["flow",{"_index":1238,"t":{"43":{"position":[[1701,4],[2586,4],[3083,4]]}}}],["flowcharts",{"_index":1231,"t":{"43":{"position":[[1443,11]]}}}],["fn,p(k",{"_index":622,"t":{"13":{"position":[[1534,9]]}}}],["fn,p(k)=(nk)pk(1−p)n−k.f_{n,p}(k",{"_index":437,"t":{"7":{"position":[[679,33]]}}}],["fn,p(k)=∑j=0kfn,p(k).f_{n,p}(k",{"_index":454,"t":{"7":{"position":[[1088,31]]}}}],["fn,p(k)f_{n,p}(k)fn,p​(k",{"_index":594,"t":{"13":{"position":[[258,26]]}}}],["fn,p(k)≥δf_{n,p}(k",{"_index":640,"t":{"13":{"position":[[2291,19]]}}}],["fn,p(n−k",{"_index":694,"t":{"15":{"position":[[896,11]]}}}],["fn=100,p(k=80)f_{n=100,p}(k=80)fn=100,p​(k=80",{"_index":631,"t":{"13":{"position":[[2021,46]]}}}],["focus",{"_index":968,"t":{"33":{"position":[[475,5]]},"35":{"position":[[448,5]]},"43":{"position":[[3602,5]]}}}],["follow",{"_index":1649,"t":{"88":{"position":[[39,6]]},"198":{"position":[[45,6]]}}}],["followed",{"_index":2128,"t":{"172":{"position":[[273,8]]}}}],["following",{"_index":1361,"t":{"56":{"position":[[101,9]]},"100":{"position":[[183,9]]},"182":{"position":[[82,9]]},"202":{"position":[[25,9]]},"204":{"position":[[90,9]]},"206":{"position":[[50,9]]},"208":{"position":[[89,9]]},"210":{"position":[[74,9]]},"222":{"position":[[25,9]]},"224":{"position":[[90,9]]},"226":{"position":[[50,9]]},"228":{"position":[[89,9]]},"230":{"position":[[74,9]]},"253":{"position":[[328,9]]},"257":{"position":[[25,9]]},"259":{"position":[[96,9]]},"261":{"position":[[50,9]]},"271":{"position":[[25,9]]},"273":{"position":[[97,9]]},"275":{"position":[[50,9]]},"285":{"position":[[25,9]]},"287":{"position":[[90,9]]},"289":{"position":[[50,9]]},"291":{"position":[[89,9]]},"293":{"position":[[74,9]]},"305":{"position":[[22,9]]},"307":{"position":[[16,9]]}}}],["follows",{"_index":175,"t":{"3":{"position":[[2943,7]]},"21":{"position":[[1764,8]]},"76":{"position":[[306,8]]},"216":{"position":[[265,7]]}}}],["fooled",{"_index":395,"t":{"5":{"position":[[4619,6]]}}}],["forbidden",{"_index":1637,"t":{"86":{"position":[[774,10]]}}}],["force",{"_index":1817,"t":{"117":{"position":[[213,5]]},"243":{"position":[[488,5]]}}}],["form",{"_index":376,"t":{"5":{"position":[[4097,4]]},"253":{"position":[[917,4]]}}}],["formal",{"_index":591,"t":{"13":{"position":[[115,6],[1222,6]]}}}],["format",{"_index":1539,"t":{"78":{"position":[[90,6]]},"80":{"position":[[222,6]]},"243":{"position":[[220,6],[369,7]]}}}],["formats",{"_index":1514,"t":{"72":{"position":[[49,8]]}}}],["formatted_time",{"_index":2013,"t":{"145":{"position":[[2357,14],[2442,17]]}}}],["formula",{"_index":338,"t":{"5":{"position":[[3353,7]]}}}],["fortunately",{"_index":1269,"t":{"43":{"position":[[3563,12]]},"47":{"position":[[593,12]]}}}],["forward",{"_index":1437,"t":{"64":{"position":[[280,7]]}}}],["found",{"_index":105,"t":{"3":{"position":[[1506,5]]},"86":{"position":[[854,6],[892,5]]}}}],["four",{"_index":544,"t":{"9":{"position":[[2573,4]]},"21":{"position":[[1802,4],[1950,4],[2080,4]]}}}],["frac",{"_index":852,"t":{"23":{"position":[[968,6]]}}}],["fraction",{"_index":188,"t":{"5":{"position":[[234,8],[351,8],[2863,8],[2971,8]]},"13":{"position":[[861,8]]},"23":{"position":[[135,8]]}}}],["frac{1}{n",{"_index":324,"t":{"5":{"position":[[3055,11]]}}}],["frac{\\text{acc}^+(h",{"_index":749,"t":{"19":{"position":[[1192,21]]}}}],["frac{p(1",{"_index":838,"t":{"23":{"position":[[658,9]]}}}],["frame",{"_index":1474,"t":{"66":{"position":[[1181,5],[1275,5]]},"76":{"position":[[400,5],[433,5],[471,6],[489,5]]},"145":{"position":[[497,5]]},"153":{"position":[[384,5]]},"253":{"position":[[167,5],[760,5]]}}}],["framegrab",{"_index":1315,"t":{"47":{"position":[[649,10]]},"82":{"position":[[74,9],[93,9],[218,9]]}}}],["free",{"_index":1330,"t":{"49":{"position":[[327,4]]},"329":{"position":[[292,4]]}}}],["frequency",{"_index":1298,"t":{"47":{"position":[[99,9]]}}}],["frequentist",{"_index":932,"t":{"31":{"position":[[21,11]]}}}],["frequently",{"_index":1145,"t":{"41":{"position":[[1931,10]]}}}],["full",{"_index":353,"t":{"5":{"position":[[3628,4],[4244,4],[4491,4]]},"45":{"position":[[945,4]]},"66":{"position":[[169,4]]},"114":{"position":[[1224,7]]},"161":{"position":[[121,6]]},"174":{"position":[[214,4]]}}}],["fun",{"_index":999,"t":{"37":{"position":[[72,3],[773,3]]},"43":{"position":[[3548,3]]},"49":{"position":[[206,3]]}}}],["function",{"_index":225,"t":{"5":{"position":[[935,8],[1850,9],[3251,8]]},"7":{"position":[[652,8],[796,8],[829,8],[1603,8]]},"13":{"position":[[248,9]]},"43":{"position":[[332,8]]},"68":{"position":[[471,8]]},"145":{"position":[[386,8],[651,8],[2972,9],[3235,9]]},"153":{"position":[[273,8],[538,8],[1511,9],[1664,9]]}}}],["functional",{"_index":1682,"t":{"98":{"position":[[98,10]]}}}],["functionality",{"_index":1182,"t":{"43":{"position":[[89,14]]},"47":{"position":[[14,13]]},"243":{"position":[[144,14]]}}}],["functions",{"_index":459,"t":{"7":{"position":[[1224,9]]}}}],["funny",{"_index":1011,"t":{"37":{"position":[[363,5]]}}}],["further",{"_index":1804,"t":{"114":{"position":[[1953,7]]}}}],["furthermore",{"_index":1099,"t":{"41":{"position":[[482,12]]}}}],["future",{"_index":1836,"t":{"127":{"position":[[309,7]]}}}],["g",{"_index":2290,"t":{"253":{"position":[[90,1]]}}}],["gather",{"_index":1859,"t":{"132":{"position":[[427,6]]}}}],["gaussian",{"_index":169,"t":{"3":{"position":[[2738,8]]}}}],["gave",{"_index":615,"t":{"13":{"position":[[1058,4]]}}}],["ge",{"_index":626,"t":{"13":{"position":[[1600,3],[2311,3]]},"15":{"position":[[978,3]]},"23":{"position":[[912,3]]}}}],["general",{"_index":1044,"t":{"39":{"position":[[415,7]]}}}],["generally",{"_index":1792,"t":{"114":{"position":[[1576,9]]},"216":{"position":[[72,9]]}}}],["generated",{"_index":1808,"t":{"114":{"position":[[2191,9]]},"180":{"position":[[220,9]]}}}],["generative",{"_index":1864,"t":{"134":{"position":[[58,10]]}}}],["get_image",{"_index":1614,"t":{"86":{"position":[[341,12]]}}}],["get_image_query",{"_index":1484,"t":{"68":{"position":[[169,16]]},"127":{"position":[[375,17]]}}}],["get_latest_frame.sh",{"_index":2288,"t":{"253":{"position":[[36,20],[356,19],[1779,19]]}}}],["get_off_couch.mp3",{"_index":2052,"t":{"149":{"position":[[119,18]]}}}],["get_or_create_detector(name",{"_index":1811,"t":{"117":{"position":[[25,28]]}}}],["get_state(self",{"_index":1225,"t":{"43":{"position":[[1250,15]]}}}],["get_token_from_secure_location",{"_index":2154,"t":{"176":{"position":[[718,32]]}}}],["gets",{"_index":2135,"t":{"174":{"position":[[176,4]]}}}],["getting",{"_index":1255,"t":{"43":{"position":[[3167,7]]}}}],["ggc_user",{"_index":2397,"t":{"325":{"position":[[59,8]]}}}],["git",{"_index":995,"t":{"33":{"position":[[911,3]]},"35":{"position":[[884,3]]},"329":{"position":[[33,3]]}}}],["github",{"_index":1331,"t":{"49":{"position":[[342,6]]},"186":{"position":[[14,6]]},"265":{"position":[[73,6]]},"279":{"position":[[75,6]]},"309":{"position":[[97,6],[272,6]]}}}],["give",{"_index":590,"t":{"13":{"position":[[103,4],[1213,4]]},"180":{"position":[[113,4]]}}}],["given",{"_index":489,"t":{"9":{"position":[[297,5]]},"13":{"position":[[1284,6]]},"15":{"position":[[637,6]]},"17":{"position":[[83,5],[202,5]]}}}],["gives",{"_index":595,"t":{"13":{"position":[[285,5]]},"45":{"position":[[724,5]]},"114":{"position":[[12,5]]}}}],["giving",{"_index":804,"t":{"21":{"position":[[2290,6]]},"37":{"position":[[659,6]]}}}],["gl",{"_index":1427,"t":{"62":{"position":[[169,2]]},"74":{"position":[[151,2]]},"86":{"position":[[204,2]]},"114":{"position":[[969,2]]},"117":{"position":[[346,2]]},"119":{"position":[[36,2]]},"121":{"position":[[36,2]]},"123":{"position":[[245,2]]},"125":{"position":[[36,2]]},"127":{"position":[[651,2]]},"130":{"position":[[106,2]]},"136":{"position":[[383,2]]},"145":{"position":[[1393,2]]},"153":{"position":[[975,2]]},"176":{"position":[[485,2],[751,2]]},"253":{"position":[[1116,2]]}}}],["gl.add_label(image_query",{"_index":1844,"t":{"127":{"position":[[951,25]]}}}],["gl.ask_async(detector=detector",{"_index":1476,"t":{"66":{"position":[[1217,31]]},"70":{"position":[[670,31]]}}}],["gl.create_detector(name=\"your_detector_name",{"_index":1819,"t":{"117":{"position":[[376,45]]}}}],["gl.get_detector(id=\"your_detector_id",{"_index":1820,"t":{"119":{"position":[[66,38]]}}}],["gl.get_image_query(id=\"iq_your_image_query_id",{"_index":1828,"t":{"123":{"position":[[278,47]]}}}],["gl.get_image_query(id=image_query.id",{"_index":1509,"t":{"70":{"position":[[850,37]]}}}],["gl.get_image_query(id=image_query_id",{"_index":1491,"t":{"68":{"position":[[743,37]]}}}],["gl.get_or_create_detector",{"_index":1607,"t":{"86":{"position":[[232,26]]},"145":{"position":[[1423,26]]},"156":{"position":[[213,26]]}}}],["gl.get_or_create_detector(\"dog",{"_index":2073,"t":{"153":{"position":[[1005,30]]}}}],["gl.get_or_create_detector(name=\"doorway",{"_index":1840,"t":{"127":{"position":[[674,41]]},"130":{"position":[[131,41]]},"136":{"position":[[408,41]]}}}],["gl.get_or_create_detector(name=\"path",{"_index":1522,"t":{"74":{"position":[[176,36]]}}}],["gl.get_or_create_detector(name=\"trash",{"_index":1784,"t":{"114":{"position":[[1160,39]]}}}],["gl.get_or_create_detector(name=\"your_detector_name",{"_index":1464,"t":{"66":{"position":[[989,52]]},"68":{"position":[[576,52]]},"70":{"position":[[537,52]]}}}],["gl.get_or_create_detector(name=detector_name",{"_index":2308,"t":{"253":{"position":[[1146,45]]}}}],["gl.list_detectors",{"_index":1822,"t":{"121":{"position":[[101,19]]}}}],["gl.list_detectors(page=1",{"_index":1825,"t":{"121":{"position":[[178,25]]}}}],["gl.list_image_queries",{"_index":1830,"t":{"125":{"position":[[105,23]]}}}],["gl.list_image_queries(page=1",{"_index":1831,"t":{"125":{"position":[[190,29]]}}}],["gl.submit_image_query(d",{"_index":1613,"t":{"86":{"position":[[316,24]]}}}],["gl.submit_image_query(det",{"_index":1527,"t":{"74":{"position":[[303,26]]}}}],["gl.submit_image_query(detector",{"_index":1537,"t":{"76":{"position":[[439,31]]},"78":{"position":[[475,31]]}}}],["gl.submit_image_query(detector=d",{"_index":1788,"t":{"114":{"position":[[1357,33],[2109,33]]},"127":{"position":[[904,33]]}}}],["gl.submit_image_query(detector=det",{"_index":1850,"t":{"130":{"position":[[296,35]]},"136":{"position":[[573,35]]}}}],["gl.submit_image_query(detector=detector",{"_index":2090,"t":{"156":{"position":[[344,40]]},"253":{"position":[[1503,40]]}}}],["gl.submit_image_query(image=image",{"_index":2002,"t":{"145":{"position":[[1941,34]]},"153":{"position":[[1112,34]]}}}],["gl.wait_for_confident_result(id=image_query.id",{"_index":1510,"t":{"70":{"position":[[1064,47]]}}}],["go",{"_index":2219,"t":{"212":{"position":[[183,3]]},"216":{"position":[[153,2]]},"232":{"position":[[183,3]]},"295":{"position":[[189,3]]},"303":{"position":[[166,2]]}}}],["goal",{"_index":282,"t":{"5":{"position":[[2095,4],[4598,4]]}}}],["goes",{"_index":833,"t":{"23":{"position":[[565,4]]}}}],["good",{"_index":505,"t":{"9":{"position":[[1047,4],[1649,4]]},"156":{"position":[[520,4],[555,4]]},"212":{"position":[[175,4]]},"232":{"position":[[175,4]]},"247":{"position":[[63,4]]},"295":{"position":[[181,4]]}}}],["grabbing",{"_index":1363,"t":{"56":{"position":[[118,8]]}}}],["gracefully",{"_index":1599,"t":{"84":{"position":[[177,10]]},"98":{"position":[[47,10]]},"100":{"position":[[154,10]]},"239":{"position":[[325,10]]}}}],["gray",{"_index":350,"t":{"5":{"position":[[3600,4],[4033,4],[4210,4]]}}}],["great",{"_index":386,"t":{"5":{"position":[[4430,6]]}}}],["greater",{"_index":557,"t":{"9":{"position":[[3324,8]]},"11":{"position":[[823,7]]},"21":{"position":[[1976,7],[2155,7]]},"29":{"position":[[469,7]]},"31":{"position":[[485,7]]}}}],["greengrass",{"_index":2385,"t":{"319":{"position":[[74,10]]},"325":{"position":[[76,10],[107,10],[175,10],[246,10],[359,10]]}}}],["grime",{"_index":956,"t":{"33":{"position":[[312,6]]},"35":{"position":[[285,6]]},"37":{"position":[[33,5],[806,5]]},"39":{"position":[[4,5],[133,5],[284,5],[464,5],[595,5],[1168,5],[1381,5]]},"41":{"position":[[4,5]]},"43":{"position":[[4,5],[1033,5],[2328,5],[2925,5]]},"45":{"position":[[4,5]]},"49":{"position":[[408,5],[489,5]]}}}],["ground",{"_index":111,"t":{"3":{"position":[[1626,6],[1675,6],[1848,6],[2881,6]]},"25":{"position":[[547,6]]}}}],["groundlight",{"_index":0,"t":{"3":{"position":[[3,12],[2141,12]]},"11":{"position":[[425,12]]},"25":{"position":[[3,12]]},"33":{"position":[[0,11],[39,11],[284,11],[540,11],[850,11]]},"35":{"position":[[12,11],[257,11],[513,11],[823,11]]},"37":{"position":[[84,11],[437,11],[834,11]]},"39":{"position":[[57,11],[219,11],[497,11],[1106,11],[1544,11]]},"41":{"position":[[814,11],[1275,11],[1794,11],[1985,13]]},"43":{"position":[[3576,11]]},"45":{"position":[[1142,12]]},"47":{"position":[[133,12],[189,11],[580,12]]},"49":{"position":[[88,11]]},"52":{"position":[[0,11],[155,12],[358,11]]},"54":{"position":[[80,11]]},"56":{"position":[[74,12],[216,12],[311,11],[597,12],[632,11],[771,11],[819,11]]},"60":{"position":[[272,11],[346,11],[490,11]]},"62":{"position":[[17,11],[103,11],[138,11],[157,11]]},"64":{"position":[[0,11],[343,12]]},"66":{"position":[[56,11],[395,12],[913,11],[932,11],[1284,11]]},"68":{"position":[[55,11],[534,11],[553,11],[813,11]]},"70":{"position":[[215,11],[473,11],[492,11],[739,11],[932,11],[1007,11],[1147,11]]},"74":{"position":[[4,11],[98,11],[117,11],[156,13]]},"76":{"position":[[194,11],[498,11]]},"78":{"position":[[4,11]]},"80":{"position":[[0,11],[505,12],[559,11],[705,12]]},"84":{"position":[[36,11]]},"86":{"position":[[159,11],[192,11],[209,13]]},"88":{"position":[[22,11]]},"92":{"position":[[149,11]]},"100":{"position":[[330,11]]},"102":{"position":[[168,11]]},"114":{"position":[[0,11],[900,11],[919,11],[974,13]]},"117":{"position":[[315,11],[334,11],[351,13]]},"119":{"position":[[5,11],[24,11],[41,13]]},"121":{"position":[[5,11],[24,11],[41,13]]},"123":{"position":[[214,11],[233,11],[250,13]]},"125":{"position":[[5,11],[24,11],[41,13]]},"127":{"position":[[0,11],[582,11],[601,11],[656,13]]},"130":{"position":[[75,11],[94,11],[111,13]]},"136":{"position":[[12,11],[100,11],[129,11],[352,11],[371,11],[388,13]]},"139":{"position":[[45,11],[1897,11]]},"141":{"position":[[0,11]]},"143":{"position":[[69,11],[144,11]]},"145":{"position":[[21,11],[199,11],[218,11],[1398,13],[3005,11]]},"147":{"position":[[49,11]]},"149":{"position":[[0,11]]},"151":{"position":[[69,11],[117,11]]},"153":{"position":[[21,11],[184,11],[203,11],[980,13],[1544,11]]},"161":{"position":[[137,12]]},"172":{"position":[[11,11],[117,11]]},"174":{"position":[[237,11]]},"176":{"position":[[386,11],[405,11],[490,13],[584,11],[679,11],[698,11]]},"178":{"position":[[40,11]]},"180":{"position":[[15,11],[297,11]]},"184":{"position":[[254,11]]},"186":{"position":[[53,11]]},"188":{"position":[[54,11]]},"194":{"position":[[0,11]]},"196":{"position":[[15,11],[137,11]]},"198":{"position":[[331,11]]},"200":{"position":[[37,11],[67,11]]},"204":{"position":[[132,11]]},"206":{"position":[[15,11],[98,11],[204,11],[220,11]]},"208":{"position":[[16,11],[135,12]]},"210":{"position":[[27,11],[119,11],[180,11],[269,11]]},"216":{"position":[[827,12],[853,11]]},"218":{"position":[[36,11]]},"220":{"position":[[37,11],[67,11]]},"224":{"position":[[132,11]]},"226":{"position":[[15,11],[98,11],[204,11],[220,11]]},"228":{"position":[[16,11],[135,12]]},"230":{"position":[[27,11],[119,11],[180,11],[269,11]]},"236":{"position":[[36,11]]},"239":{"position":[[4,11],[88,11]]},"241":{"position":[[92,11],[236,11],[278,11]]},"243":{"position":[[60,11]]},"249":{"position":[[0,11]]},"251":{"position":[[69,11],[194,11]]},"253":{"position":[[390,11],[540,11],[559,11],[824,11],[1002,11],[1121,13]]},"255":{"position":[[37,11],[74,11]]},"259":{"position":[[138,11]]},"261":{"position":[[15,11],[99,11],[175,11]]},"267":{"position":[[36,11]]},"269":{"position":[[37,11],[83,11]]},"273":{"position":[[139,11]]},"275":{"position":[[15,11],[99,11],[175,11]]},"281":{"position":[[36,11]]},"283":{"position":[[37,11],[69,11]]},"287":{"position":[[132,11]]},"289":{"position":[[15,11],[104,11],[210,11],[226,11]]},"291":{"position":[[16,11],[135,12]]},"293":{"position":[[27,11],[119,11],[180,11],[269,11]]},"299":{"position":[[36,11]]},"301":{"position":[[0,11]]},"303":{"position":[[68,11]]},"309":{"position":[[206,11]]},"311":{"position":[[39,11]]},"313":{"position":[[76,11]]},"315":{"position":[[87,11]]}}}],["groundlight's",{"_index":56,"t":{"3":{"position":[[672,13],[818,13]]},"41":{"position":[[2163,13]]},"56":{"position":[[1177,13]]},"72":{"position":[[0,13]]},"104":{"position":[[0,13]]},"106":{"position":[[12,13]]},"108":{"position":[[0,13]]},"110":{"position":[[0,13]]},"112":{"position":[[24,13]]},"134":{"position":[[0,13]]},"156":{"position":[[5,13]]}}}],["groundlight(api_token=token",{"_index":2155,"t":{"176":{"position":[[756,28]]}}}],["groundlight(endpoint=\"http://localhost:6717",{"_index":1428,"t":{"62":{"position":[[174,45]]}}}],["groundlight.ai",{"_index":2376,"t":{"313":{"position":[[112,15]]}}}],["groundlight/stream",{"_index":2331,"t":{"263":{"position":[[84,18]]},"277":{"position":[[85,18]]}}}],["groundlight_api_token",{"_index":1634,"t":{"86":{"position":[[724,21]]},"136":{"position":[[200,21]]},"176":{"position":[[176,22],[463,21]]}}}],["groundlight_api_token=api_2gdxmflhji6l_example",{"_index":1876,"t":{"136":{"position":[[269,46]]}}}],["groundlight_endpoint",{"_index":1430,"t":{"62":{"position":[[238,20]]}}}],["groundlight_endpoint=http://localhost:6717",{"_index":1434,"t":{"62":{"position":[[293,42]]}}}],["groundlight’s",{"_index":964,"t":{"33":{"position":[[432,13]]},"35":{"position":[[405,13]]}}}],["group",{"_index":2407,"t":{"325":{"position":[[370,5]]}}}],["grows",{"_index":949,"t":{"33":{"position":[[169,5]]},"35":{"position":[[142,5]]}}}],["guarantees",{"_index":582,"t":{"11":{"position":[[668,10]]},"31":{"position":[[225,10]]}}}],["guardian",{"_index":957,"t":{"33":{"position":[[319,9]]},"35":{"position":[[292,9]]},"37":{"position":[[39,9],[812,8]]},"39":{"position":[[10,8],[139,8],[290,8],[470,8],[1174,8],[1387,8]]},"41":{"position":[[10,8]]},"43":{"position":[[1039,8],[2334,8],[2931,8]]},"45":{"position":[[10,8]]},"49":{"position":[[414,8]]}}}],["guardian's",{"_index":1178,"t":{"43":{"position":[[10,10]]}}}],["guardian’s",{"_index":1046,"t":{"39":{"position":[[601,10]]}}}],["guide",{"_index":2039,"t":{"147":{"position":[[125,5]]},"196":{"position":[[44,6],[59,6]]},"198":{"position":[[90,6]]},"200":{"position":[[5,5]]},"220":{"position":[[5,5]]},"255":{"position":[[5,5]]},"269":{"position":[[5,5]]},"283":{"position":[[5,5]]}}}],["guides",{"_index":1357,"t":{"52":{"position":[[405,6]]},"56":{"position":[[18,6]]}}}],["h",{"_index":746,"t":{"19":{"position":[[982,3]]},"21":{"position":[[767,4],[1288,4],[1370,4],[2641,4],[2826,4]]}}}],["h(x",{"_index":292,"t":{"5":{"position":[[2357,6]]}}}],["h(x)=y",{"_index":288,"t":{"5":{"position":[[2307,6]]}}}],["h(x)=yh(x",{"_index":278,"t":{"5":{"position":[[2019,10]]}}}],["h(x_i",{"_index":327,"t":{"5":{"position":[[3094,6]]},"19":{"position":[[893,6],[1022,6]]}}}],["h(xi)=yi",{"_index":322,"t":{"5":{"position":[[3014,8]]}}}],["h).acc+​(h",{"_index":765,"t":{"21":{"position":[[798,14]]}}}],["h)}{2}.accbal​(h)=2acc+(h)+acc−(h",{"_index":751,"t":{"19":{"position":[[1228,37]]}}}],["hand",{"_index":753,"t":{"21":{"position":[[30,5]]},"106":{"position":[[186,4],[194,4]]}}}],["handful",{"_index":977,"t":{"33":{"position":[[637,7]]},"35":{"position":[[610,7]]},"39":{"position":[[86,7],[647,7]]}}}],["handle",{"_index":1166,"t":{"41":{"position":[[2784,6]]},"43":{"position":[[661,6],[729,6]]},"45":{"position":[[145,6]]},"56":{"position":[[534,6]]},"84":{"position":[[127,6],[188,6]]},"88":{"position":[[70,6]]},"98":{"position":[[35,6]]},"100":{"position":[[140,6],[273,6]]},"127":{"position":[[186,6]]}}}],["handled",{"_index":974,"t":{"33":{"position":[[552,7]]},"35":{"position":[[525,7]]}}}],["handles",{"_index":1317,"t":{"47":{"position":[[699,7]]}}}],["handling",{"_index":992,"t":{"33":{"position":[[836,9]]},"35":{"position":[[809,9]]},"45":{"position":[[485,8]]},"56":{"position":[[492,8]]},"96":{"position":[[5,8]]},"100":{"position":[[38,8]]},"174":{"position":[[291,8]]}}}],["happen",{"_index":192,"t":{"5":{"position":[[283,6]]},"114":{"position":[[2087,7]]}}}],["happens",{"_index":234,"t":{"5":{"position":[[1112,7]]}}}],["hard",{"_index":1285,"t":{"45":{"position":[[765,4]]}}}],["hardcoding",{"_index":2140,"t":{"174":{"position":[[438,10]]}}}],["hardware",{"_index":1567,"t":{"80":{"position":[[271,8]]},"243":{"position":[[454,9]]}}}],["hasn't",{"_index":1801,"t":{"114":{"position":[[1839,6]]}}}],["hat{\\sigma",{"_index":849,"t":{"23":{"position":[[888,14],[946,12],[1351,17]]}}}],["hat{p",{"_index":846,"t":{"23":{"position":[[869,7],[985,8]]}}}],["hat{p}(1",{"_index":853,"t":{"23":{"position":[[975,9]]}}}],["having",{"_index":493,"t":{"9":{"position":[[551,6]]}}}],["head",{"_index":1874,"t":{"136":{"position":[[112,4]]},"253":{"position":[[97,4]]}}}],["heads",{"_index":418,"t":{"7":{"position":[[338,5],[496,5],[579,6],[908,6],[989,5],[1388,6],[1451,5]]},"9":{"position":[[83,5]]},"13":{"position":[[333,5]]},"15":{"position":[[176,5],[222,5],[260,6]]}}}],["health",{"_index":1671,"t":{"94":{"position":[[179,6]]}}}],["healthy",{"_index":163,"t":{"3":{"position":[[2639,7]]}}}],["help",{"_index":1020,"t":{"37":{"position":[[480,5],[595,5]]},"43":{"position":[[2707,4],[3111,4]]},"92":{"position":[[90,4]]},"94":{"position":[[124,4]]},"96":{"position":[[145,4]]},"100":{"position":[[75,4]]},"106":{"position":[[83,4]]},"108":{"position":[[223,4]]},"139":{"position":[[820,4]]},"188":{"position":[[254,4]]},"200":{"position":[[16,4]]},"220":{"position":[[16,4]]},"255":{"position":[[16,4]]},"269":{"position":[[16,4]]},"283":{"position":[[16,4]]}}}],["helpful",{"_index":129,"t":{"3":{"position":[[1962,7]]}}}],["helps",{"_index":2146,"t":{"176":{"position":[[204,5]]}}}],["here",{"_index":187,"t":{"5":{"position":[[186,5],[3867,5]]},"9":{"position":[[859,5]]},"15":{"position":[[1030,4]]},"25":{"position":[[335,4]]},"33":{"position":[[27,4]]},"35":{"position":[[0,4]]},"43":{"position":[[3294,4]]},"66":{"position":[[188,6]]},"70":{"position":[[462,5]]},"147":{"position":[[0,4]]},"174":{"position":[[258,4]]},"307":{"position":[[209,5],[260,5],[286,5],[328,5]]}}}],["here's",{"_index":1520,"t":{"74":{"position":[[74,6]]},"78":{"position":[[259,6]]},"80":{"position":[[956,6]]}}}],["hero",{"_index":1026,"t":{"37":{"position":[[653,5]]}}}],["heroic",{"_index":1340,"t":{"49":{"position":[[461,6]]}}}],["hhh",{"_index":271,"t":{"5":{"position":[[1860,4],[1964,3],[2050,3],[2177,4],[2235,3],[2565,3],[2894,3],[3821,4],[3873,3],[4480,3],[4761,3]]},"9":{"position":[[431,4]]},"21":{"position":[[333,3],[417,3]]}}}],["hhh's",{"_index":318,"t":{"5":{"position":[[2929,5],[3533,5],[4392,5],[4645,5]]},"9":{"position":[[498,5],[2162,5],[3290,5]]}}}],["high",{"_index":93,"t":{"3":{"position":[[1321,4]]},"5":{"position":[[620,5]]},"13":{"position":[[2902,6],[2912,4],[2988,5],[3039,5]]},"43":{"position":[[1460,4],[1690,4]]},"132":{"position":[[130,4],[485,4]]}}}],["high=1.0",{"_index":675,"t":{"13":{"position":[[3098,9]]}}}],["high=255",{"_index":1555,"t":{"78":{"position":[[375,9]]}}}],["higher",{"_index":530,"t":{"9":{"position":[[1890,7],[2778,6]]},"114":{"position":[[1523,6],[1550,6],[1594,6],[1610,6]]},"132":{"position":[[634,6]]},"136":{"position":[[60,7]]},"139":{"position":[[929,6]]},"141":{"position":[[35,6]]},"143":{"position":[[30,6]]},"149":{"position":[[35,6]]},"151":{"position":[[30,6]]},"200":{"position":[[106,7]]},"202":{"position":[[75,6]]},"204":{"position":[[32,6]]},"212":{"position":[[133,6]]},"220":{"position":[[106,7]]},"222":{"position":[[75,6]]},"224":{"position":[[32,6]]},"232":{"position":[[133,6]]},"249":{"position":[[35,6]]},"251":{"position":[[30,6]]},"255":{"position":[[113,7]]},"257":{"position":[[81,6]]},"259":{"position":[[32,6]]},"269":{"position":[[122,7]]},"271":{"position":[[82,6]]},"273":{"position":[[32,6]]},"283":{"position":[[108,7]]},"285":{"position":[[75,6]]},"287":{"position":[[32,6]]},"295":{"position":[[139,6]]}}}],["highest",{"_index":1738,"t":{"108":{"position":[[79,7]]}}}],["highly",{"_index":82,"t":{"3":{"position":[[1133,6]]}}}],["hold",{"_index":701,"t":{"17":{"position":[[60,4],[175,4]]},"21":{"position":[[1827,4]]}}}],["holds",{"_index":607,"t":{"13":{"position":[[886,5]]}}}],["home",{"_index":2034,"t":{"147":{"position":[[69,4]]}}}],["homebrew",{"_index":2257,"t":{"234":{"position":[[89,8]]}}}],["hope",{"_index":885,"t":{"25":{"position":[[746,4]]}}}],["host's",{"_index":2398,"t":{"325":{"position":[[140,6]]}}}],["hour",{"_index":1886,"t":{"139":{"position":[[319,5]]},"145":{"position":[[3102,5]]}}}],["hourly",{"_index":1935,"t":{"139":{"position":[[1957,6]]}}}],["hours",{"_index":1900,"t":{"139":{"position":[[735,5]]},"145":{"position":[[1158,5]]},"192":{"position":[[281,6]]}}}],["http",{"_index":1376,"t":{"56":{"position":[[558,4]]},"86":{"position":[[15,4],[559,4],[624,4]]}}}],["http://0.0.0.0:8000",{"_index":2421,"t":{"329":{"position":[[265,19]]}}}],["http://localhost:3000",{"_index":2419,"t":{"329":{"position":[[168,21]]}}}],["https://bootstrap.pypa.io/get",{"_index":2250,"t":{"216":{"position":[[614,29]]}}}],["https://dashboard.groundlight.ai/reef/my",{"_index":2156,"t":{"178":{"position":[[65,40]]}}}],["https://github.com/groundlight/esp32cam",{"_index":2183,"t":{"190":{"position":[[12,39]]},"309":{"position":[[107,39]]}}}],["https://github.com/groundlight/monitoring",{"_index":2415,"t":{"329":{"position":[[43,41]]}}}],["https://github.com/groundlight/raspberry",{"_index":2188,"t":{"192":{"position":[[12,40]]}}}],["https://github.com/groundlight/stream",{"_index":2177,"t":{"188":{"position":[[12,37]]}}}],["https://images.selfstorage.com/large",{"_index":1842,"t":{"127":{"position":[[757,37]]}}}],["https://iot.groundlight.ai/espcam",{"_index":2338,"t":{"301":{"position":[[110,34]]},"303":{"position":[[172,33]]}}}],["https://www.photos",{"_index":1778,"t":{"114":{"position":[[1000,19]]}}}],["https://www.youtube.com/watch?v= bool: with self.lock: return copy.copy(self.state) The application uses this state to determine when to send notifications. I've tried to break down this logic into a few of flowcharts. At a high level, the logic is pretty simple. Whenever the the application's state is updated, the application performs a check to determine if the new state justifies sending each type of notification. Diagram created by Jared Randall High level flow for determining if a notification should be sent The logic for determining if each notification should be sent is a bit more complex. It first checks for the last time a notification was sent. If the last notification was sent in the last 5 minutes, no notification is sent. This is important as it prevents the application from spamming the Discord server with notifications. Next, the application checks if the sink currently has dirty dishes in it, and how long it has been since the sink was empty. We only send the notification if dirty dishes have been present for more than a minute. This approach ensures that the Grime Guardian does not send a notification every time someone puts a dirty dish in the sink, but only when dishes have been abandoned for a while. This ensures that the app only notifies the team when it is actually needed. Diagram created by Jared Randall Flow for determining if the dirty dishes notification should be sent The logic for determining if someone has arrived to help is similar. We have a check that ensures we do not spam the Discord server. Then, we only send a notification if there are currently dishes in the sink and someone is present in the kitchen. This ensures that the Grime Guardian does not send a notification every time someone walks into the kitchen, but only when dishes are in the sink. Diagram created by Jared Randall Flow for determining if the help arrived notification should be sent In retrospect, getting the notification logic to work properly was one of the more challenging parts of this project. The version I presented here is the result of many iterations and tweaks based on real world usage and results. I think this is because this logic is an expression of the application's core value proposition. If this \"business logic\" is not correct, the application will not be fun or useful. Fortunately, Groundlight enabled me to focus on this logic and not worry about the computer vision.","s":"State Management and Notification Logic","u":"/python-sdk/blog/grime-guardian","h":"#state-management-and-notification-logic","p":2},{"i":15,"t":"The Grime Guardian uses the Discord Bot API to send notifications to a Discord server I set up. At startup, Discord requires some boilerplate to handle authentication. After this is done, the bot listens for new notification requests from the Notification Publisher. Based on the type of request, the bot collects the relevant information (e.g. the image of the dirty sink, or the person doing the dishes) and sends the message. The Discord Bot API makes this incredibly simple, after handling authentication, a new message and an attached image can be sent in a single line. await channel.send(\"message\", file=discord.File(fpath)) While I did not have time to add more complexity to the bot, Discord’s strong documentation gives me confidence it would not be that hard to add more features. For example, it would have been nice if the bot could listen for replies or emote reactions to its notifications - if the bot reported that the sink was full of dishes when really it was not, I could react to the notification with an emote that indicates the correct label for the image, and then the bot could automatically send this information to Groundlight, improving ML performance.","s":"Discord Bot Notifications","u":"/python-sdk/blog/grime-guardian","h":"#discord-bot-notifications","p":2},{"i":17,"t":"Extending the functionality of the application, I can imagine adding motion detection to limit the frequency of image submissions to Groundlight. Currently, the application sends images to Groundlight at a fixed interval (every 10 seconds), regardless of whether there has been any significant change in the scene. This approach, while simple, could be optimized to become more cost effective. As it is now, it can lead to unnecessary image submissions when the scene is static. By incorporating motion detection, the application could intelligently decide when to send images to Groundlight. Fortunately, some of my excellent colleagues have built framegrab, an open source tool that automatically handles this.","s":"Future Improvements and Enhancements","u":"/python-sdk/blog/grime-guardian","h":"#future-improvements-and-enhancements","p":2},{"i":19,"t":"Thank you for taking the time to read my post! As I reflect back, I’m very proud of how Groundlight enabled me to very quickly and effortlessly stand up an ML solution to solve a simple office problem in a fun and engaging way! If you are particularly interested or inspired, I encourage you to check out the source code. Feel free to open a GitHub issue with questions or submit a PR with improvements! The Grime Guardian celebrates Tom, my colleague, for his heroic cleaning effort. The grime is no match for his dish-defeating determination!","s":"Build Your Own Grime Guardian","u":"/python-sdk/blog/grime-guardian","h":"#build-your-own-grime-guardian","p":2},{"i":22,"t":"Groundlight provides a powerful \"computer vision powered by natural language\" system that enables you to build visual applications with minimal code. With Groundlight, you can quickly create applications for various use cases, from simple object detection to complex visual analysis. In this page, we'll introduce you to some sample applications built using Groundlight and provide links to more detailed guides on various topics.","s":"Building Applications","u":"/python-sdk/docs/building-applications","h":"","p":21},{"i":24,"t":"Sample Applications: Find repositories with examples of applications built with Groundlight","s":"Sample Applications","u":"/python-sdk/docs/building-applications","h":"#sample-applications","p":21},{"i":26,"t":"For more in-depth guides on various aspects of building applications with Groundlight, check out the following pages: Grabbing images: Understand the intricacies of how to submit images from various input sources to Groundlight. Working with detectors: Learn how to create, configure, and use detectors in your Groundlight-powered applications. Confidence levels: Master how to control the trade-off of latency against accuracy by configuring the desired confidence level for your detectors. Handling server errors: Understand how to handle and troubleshoot HTTP errors that may occur while using Groundlight. Asynchronous queries: Groundlight makes it easy to submit asynchronous queries. Learn how to submit queries asynchronously and retrieve the results later. Using Groundlight on the edge: Discover how to deploy Groundlight in edge computing environments for improved performance and reduced latency. Industrial applications: Learn how to apply modern natural-language-based computer vision to your industrial and manufacturing applications. By exploring these resources and sample applications, you'll be well on your way to building powerful visual applications using Groundlight's computer vision and natural language capabilities.","s":"Further Reading","u":"/python-sdk/docs/building-applications","h":"#further-reading","p":21},{"i":28,"t":"If your account has access to edge models, you can download and install them to your edge devices. This allows you to run your model evaluations on the edge, reducing latency, cost, network bandwidth, and energy.","s":"Using Groundlight on the Edge","u":"/python-sdk/docs/building-applications/edge","h":"","p":27},{"i":30,"t":"The Edge Endpoint runs as a set of docker containers on an \"edge device\". This edge device can be an NVIDIA Jetson device, rack-mounted server, or even a Raspberry Pi. The Edge Endpoint is responsible for downloading and running the models, and for communicating with the Groundlight cloud service. To use the edge endpoint, simply configure the Groundlight SDK to use the edge endpoint's URL instead of the cloud endpoint. All application logic will work seamlessly and unchanged with the Groundlight Edge Endpoint, except some ML answers will return much faster locally. Image queries answered at the edge endpoint will not appear in the cloud dashboard unless specifically configured to do so, in which case the edge prediction will not be reflected on the image query in the cloud.","s":"How the Edge Endpoint works","u":"/python-sdk/docs/building-applications/edge","h":"#how-the-edge-endpoint-works","p":27},{"i":32,"t":"To configure the Groundlight SDK to use the edge endpoint, you can either pass the endpoint URL to the Groundlight constructor like: from groundlight import Groundlight gl = Groundlight(endpoint=\"http://localhost:6717\") or by setting the GROUNDLIGHT_ENDPOINT environment variable like: export GROUNDLIGHT_ENDPOINT=http://localhost:6717 python your_app.py","s":"Configuring the Edge Endpoint","u":"/python-sdk/docs/building-applications/edge","h":"#configuring-the-edge-endpoint","p":27},{"i":34,"t":"Groundlight provides a simple interface for submitting asynchronous queries. This is useful for times in which the thread or process or machine submitting image queries is not the same thread or machine that will be retrieving and using the results. For example, you might have a forward deployed robot or camera that submits image queries to Groundlight, and a separate server that retrieves the results and takes action based on them. We will refer to these two machines as the submitting machine and the retrieving machine.","s":"Asynchronous Queries","u":"/python-sdk/docs/building-applications/async-queries","h":"","p":33},{"i":36,"t":"On the submitting machine, you will need to install the Groundlight Python SDK. Then you can submit image queries asynchronously using the ask_async interface (read the full documentation here). ask_async submits your query and returns as soon as the query is submitted. It does not wait for an answer to be available prior to returning to minimize the time your program spends interacting with Groundlight. As a result, the ImageQuery object ask_async returns lacks a result (the result field will be None). This is acceptable for this use case as the submitting machine is not interested in the result. Instead, the submitting machine just needs to communicate the ImageQuery.ids to the retrieving machine - this might be done via a database, a message queue, or some other mechanism. For this example, we assume you are using a database where you save the ImageQuery.id to it via db.save(image_query.id). from groundlight import Groundlight import cv2 from time import sleep detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") cam = cv2.VideoCapture(0) # Initialize camera (0 is the default index) while True: _, image = cam.read() # Capture one frame from the camera image_query = gl.ask_async(detector=detector, image=image) # Submit the frame to Groundlight db.save(image_query.id) # Save the image_query.id to a database for the retrieving machine to use sleep(10) # Sleep for 10 seconds before submitting the next query cam.release() # Release the camera","s":"Setup Submitting Machine","u":"/python-sdk/docs/building-applications/async-queries","h":"#setup-submitting-machine","p":33},{"i":38,"t":"On the retrieving machine you will need to install the Groundlight Python SDK. Then you can retrieve the results of the image queries submitted by another machine using get_image_query. The retrieving machine can then use the ImageQuery.result to take action based on the result for whatever application you are building. For this example, we assume your application looks up the next image query to process from a database via db.get_next_image_query_id() and that this function returns None once all ImageQuerys are processed. from groundlight import Groundlight detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") image_query_id = db.get_next_image_query_id() while image_query_id is not None: image_query = gl.get_image_query(id=image_query_id) # retrieve the image query from Groundlight result = image_query.result # take action based on the result of the image query if result.label == 'YES': pass # TODO: do something based on your application elif result.label == 'NO': pass # TODO: do something based on your application elif result.label == 'UNCLEAR': pass # TODO: do something based on your application # update image_query_id for next iteration of the loop image_query_id = db.get_next_image_query_id()","s":"Setup Retrieving Machine","u":"/python-sdk/docs/building-applications/async-queries","h":"#setup-retrieving-machine","p":33},{"i":40,"t":"When you submit an image query asynchronously, ML prediction on your query is not instant. So attempting to retrieve the result immediately after submitting an async query will likely result in an UNCLEAR result as Groundlight is still processing your query. Instead, if your code needs a result synchronously we recommend using one of our methods with a polling mechanism to retrieve the result. You can see all of the interfaces available in the documentation here. from groundlight import Groundlight from PIL import Image detector = gl.get_or_create_detector(name=\"your_detector_name\", query=\"your_query\") image = Image.open(\"/path/to/your/image.jpg\") image_query = gl.ask_async(detector=detector, image=image) # Submit async query to Groundlight result = image_query.result # This will always be 'None' as you asked asynchronously image_query = gl.get_image_query(id=image_query.id) # Immediately retrieve the image query from Groundlight result = image_query.result # This will likely be 'UNCLEAR' as Groundlight is still processing your query image_query = gl.wait_for_confident_result(id=image_query.id) # Poll for a confident result from Groundlight result = image_query.result","s":"Important Considerations","u":"/python-sdk/docs/building-applications/async-queries","h":"#important-considerations","p":33},{"i":42,"t":"When building applications with the Groundlight SDK, you may encounter server errors during API calls. This page covers how to handle such errors and build robust code that can gracefully handle exceptions.","s":"Handling Server Errors","u":"/python-sdk/docs/building-applications/handling-errors","h":"","p":41},{"i":44,"t":"If there is an HTTP error during an API call, the SDK will raise an ApiException. You can access different metadata from that exception: import traceback from groundlight import ApiException, Groundlight gl = Groundlight() try: d = gl.get_or_create_detector( \"Road Checker\", \"Is the site access road blocked?\") iq = gl.submit_image_query(d, get_image(), wait=60) except ApiException as e: # Print a traceback for debugging traceback.print_exc() # e.reason contains a textual description of the error print(f\"Error reason: {e.reason}\") # e.status contains the HTTP status code print(f\"HTTP status code: {e.status}\") # Common HTTP status codes: # 400 Bad Request: The request was invalid or malformed # 401 Unauthorized: Your GROUNDLIGHT_API_TOKEN is missing or invalid # 403 Forbidden: The request is not allowed due to insufficient permissions # 404 Not Found: The requested resource was not found # 429 Too Many Requests: The rate limit for the API has been exceeded # 500 Internal Server Error: An error occurred on the server side","s":"Handling ApiException","u":"/python-sdk/docs/building-applications/handling-errors","h":"#handling-apiexception","p":41},{"i":46,"t":"When working with the Groundlight SDK, follow these best practices to handle exceptions and build robust code:","s":"Best Practices for Handling Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#best-practices-for-handling-exceptions","p":41},{"i":48,"t":"Catch only the specific exceptions that you expect to be raised, such as ApiException. Avoid catching broad exceptions like Exception, as it may make debugging difficult and obscure other unrelated issues.","s":"Catch Specific Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#catch-specific-exceptions","p":41},{"i":50,"t":"Consider creating custom exception classes for your application-specific errors. This can help you differentiate between errors originating from the Groundlight SDK and those from your application.","s":"Use Custom Exception Classes","u":"/python-sdk/docs/building-applications/handling-errors","h":"#use-custom-exception-classes","p":41},{"i":52,"t":"Log exceptions with appropriate log levels (e.g., error, warning, etc.) and include relevant context information. This will help you debug issues more effectively and monitor the health of your application.","s":"Log Exceptions","u":"/python-sdk/docs/building-applications/handling-errors","h":"#log-exceptions","p":41},{"i":54,"t":"When handling exceptions, implement retry logic with exponential backoff for transient errors, such as network issues or rate-limiting. This can help your application recover from temporary issues without manual intervention.","s":"Implement Retry Logic","u":"/python-sdk/docs/building-applications/handling-errors","h":"#implement-retry-logic","p":41},{"i":56,"t":"In addition to logging exceptions, handle them gracefully to ensure that your application remains functional despite errors. This might include displaying an error message to users or falling back to a default behavior.","s":"Handle Exceptions Gracefully","u":"/python-sdk/docs/building-applications/handling-errors","h":"#handle-exceptions-gracefully","p":41},{"i":58,"t":"Write tests to ensure that your error handling works as expected. This can help you catch issues early and ensure that your application can handle errors gracefully in production. By following these best practices, you can create robust and resilient applications that can handle server errors and other exceptions when using the Groundlight SDK.","s":"Test Your Error Handling","u":"/python-sdk/docs/building-applications/handling-errors","h":"#test-your-error-handling","p":41},{"i":60,"t":"Groundlight's SDK accepts images in many popular formats, including PIL, OpenCV, and numpy arrays.","s":"Grabbing Images","u":"/python-sdk/docs/building-applications/grabbing-images","h":"","p":59},{"i":62,"t":"The Groundlight SDK can accept PIL images directly in submit_image_query. Here's an example: from groundlight import Groundlight from PIL import Image gl = Groundlight() det = gl.get_or_create_detector(name=\"path-clear\", query=\"Is the path clear?\") pil_img = Image.open(\"./docs/static/img/doorway.jpg\") gl.submit_image_query(det, pil_img)","s":"PIL","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#pil","p":59},{"i":64,"t":"OpenCV is a popular image processing library, with many utilities for working with images. OpenCV images are stored as numpy arrays. (Note they are stored in BGR order, not RGB order, but as of Groundlight SDK v0.8 this is the expected order.) OpenCV's images can be send directly to submit_image_query as follows: import cv2 cam = cv2.VideoCapture(0) # Initialize camera (0 is the default index) _, frame = cam.read() # Capture one frame gl.submit_image_query(detector, frame) # Send the frame to Groundlight cam.release() # Release the camera","s":"OpenCV","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#opencv","p":59},{"i":66,"t":"The Groundlight SDK can accept images as numpy arrays. They should be in the standard HWN format in BGR color order, matching OpenCV standards. Pixel values should be from 0-255 (not 0.0-1.0 as floats). So uint8 data type is preferable since it saves memory. Here's sample code to create an 800x600 random image in numpy: import numpy as np np_img = np.random.uniform(low=0, high=255, size=(600, 800, 3)).astype(np.uint8) # Note: channel order is interpretted as BGR not RGB gl.submit_image_query(detector, np_img)","s":"Numpy","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#numpy","p":59},{"i":68,"t":"Groundlight expects images in BGR order, because this is standard for OpenCV, which uses numpy arrays as image storage. (OpenCV uses BGR because it was originally developed decades ago for compatibility with the BGR color format used by many cameras and image processing hardware at the time of its creation.) Most other image libraries use RGB order, so if you are using images as numpy arrays which did not originate from OpenCV you likely need to reverse the channel order before sending the images to Groundlight. Note this change was made in v0.8 of the Groundlight SDK - in previous versions, RGB order was expected. If you have an RGB array, you must reverse the channel order before sending it to Groundlight, like: # Convert numpy image in RGB channel order to BGR order bgr_img = rgb_img[:, :, ::-1] The difference can be surprisingly subtle when red and blue get swapped. Often images just look a little off, but sometimes they look very wrong. Here's an example of a natural-scene image where you might think the color balance is just off: In industrial settings, the difference can be almost impossible to detect without prior knowledge of the scene:","s":"Channel order: BGR vs RGB","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#channel-order-bgr-vs-rgb","p":59},{"i":70,"t":"For a unified interface to many different kinds of image sources, see the framegrab library. Framegrab is still an early work in progress, but has many useful features for working with cameras and other image sources. Framegrab provides a single interface for many different kinds of image sources, including: USB cameras IP cameras Video files Image files","s":"Framegrab","u":"/python-sdk/docs/building-applications/grabbing-images","h":"#framegrab","p":59},{"i":72,"t":"Groundlight gives you a simple way to control the trade-off of latency against accuracy. The longer you can wait for an answer to your image query, the better accuracy you can get. In particular, if the ML models are unsure of the best response, they will escalate the image query to more intensive analysis with more complex models and real-time human monitors as needed. Your code can easily wait for this delayed response. Either way, these new results are automatically trained into your models so your next queries will get better results faster. The desired confidence level is set as the escalation threshold on your detector. This determines the minimum confidence score for the ML system to provide before the image query is escalated. For example, say you want to set your desired confidence level to 0.95, but that you're willing to wait up to 60 seconds to get a confident response. from groundlight import Groundlight from PIL import Image import requests gl = Groundlight() image_url = \"https://www.photos-public-domain.com/wp-content/uploads/2010/11/over_flowing_garbage_can.jpg\" image = Image.open(requests.get(image_url, stream=True).raw) d = gl.get_or_create_detector(name=\"trash\", query=\"Is the trash can full?\", confidence_threshold=0.95) # This will wait until either 60 seconds have passed or the confidence reaches 0.95 image_query = gl.submit_image_query(detector=d, image=image, wait=60) print(f\"The answer is {image_query.result}\") tip Tuning confidence lets you balance accuracy against latency. Higher confidence will get higher accuracy, but will generally require higher latency. Higher confidence also requires more labels, which increases labor costs. Or if you want to execute submit_image_query as fast as possible, set wait=0. You will either get the ML results or a placeholder response if the ML model hasn't finished executing. Image queries which are below the desired confidence level will still be escalated for further analysis, and the results are incorporated as training data to improve your ML model, but your code will not wait for that to happen. image_query = gl.submit_image_query(detector=d, image=image, wait=0) If the returned result was generated from an ML model, you can see the confidence score returned for the image query: print(f\"The confidence is {image_query.result.confidence}\")","s":"Confidence Levels","u":"/python-sdk/docs/building-applications/managing-confidence","h":"","p":71},{"i":74,"t":"Explore these GitHub repositories to see examples of Groundlight-powered applications:","s":"Sample Applications","u":"/python-sdk/docs/building-applications/sample-applications","h":"","p":73},{"i":76,"t":"Repository: https://github.com/groundlight/stream The Groundlight Stream Processor is an easy-to-use Docker container for analyzing RTSP streams or common USB-based cameras. You can run it with a single Docker command, such as: docker run stream:local --help","s":"Groundlight Stream Processor","u":"/python-sdk/docs/building-applications/sample-applications","h":"#groundlight-stream-processor","p":73},{"i":78,"t":"Repository: https://github.com/groundlight/esp32cam This sample application allows you to build a working AI vision detector using an inexpensive WiFi camera. With a cost of under $10, you can create a powerful and affordable AI vision system.","s":"Arduino ESP32 Camera Sample App","u":"/python-sdk/docs/building-applications/sample-applications","h":"#arduino-esp32-camera-sample-app","p":73},{"i":80,"t":"Repository: https://github.com/groundlight/raspberry-pi-door-lock This sample application demonstrates how to set up a Raspberry Pi-based door lock system. The application monitors a door and sends a notification if the door is observed to be unlocked during non-standard business hours.","s":"Raspberry Pi","u":"/python-sdk/docs/building-applications/sample-applications","h":"#raspberry-pi","p":73},{"i":82,"t":"Groundlight can be used to apply modern natural-language-based computer vision to industrial and manufacturing applications.","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/building-applications/sample-applications","h":"#industrial-and-manufacturing-applications","p":73},{"i":84,"t":"Modern natural language-based computer vision is transforming industrial and manufacturing applications by enabling more intuitive interaction with automation systems. Groundlight offers cutting-edge computer vision technology that can be seamlessly integrated into various industrial processes, enhancing efficiency, productivity, and quality control.","s":"Industrial and Manufacturing Applications","u":"/python-sdk/docs/building-applications/industrial","h":"","p":83},{"i":86,"t":"Groundlight's computer vision technology can assist in automating machine-tending tasks, such as loading and unloading materials in CNC machines, milling centers, or injection molding equipment. By enabling robots to recognize parts and tools using natural language, complex machine-tending tasks become more accessible and efficient.","s":"Machine Tending","u":"/python-sdk/docs/building-applications/industrial","h":"#machine-tending","p":83},{"i":88,"t":"Integrating Groundlight's computer vision into your process automation systems can help identify bottlenecks, optimize workflows, and reduce manual intervention. Our technology can work hand-in-hand with robotic systems to perform tasks like sorting, assembly, all while interpreting natural language commands to streamline operations.","s":"Process Automation","u":"/python-sdk/docs/building-applications/industrial","h":"#process-automation","p":83},{"i":90,"t":"Groundlight's computer vision technology can play a vital role in ensuring the highest quality standards in your manufacturing processes. By identifying defects or irregularities in products, our computer vision system can help maintain strict quality control, reducing the need for manual inspections and increasing overall product quality.","s":"Quality Control","u":"/python-sdk/docs/building-applications/industrial","h":"#quality-control","p":83},{"i":92,"t":"Groundlight's computer vision technology can be easily integrated with popular cobot robotic arms, such as Universal Robots, to enhance their capabilities and improve collaboration between humans and robots. Additionally, our technology can be integrated into existing CNC machines or other devices using the Modbus interface, allowing for seamless communication and control within your manufacturing environment.","s":"Integration with Cobots and CNC Machines","u":"/python-sdk/docs/building-applications/industrial","h":"#integration-with-cobots-and-cnc-machines","p":83},{"i":94,"t":"To learn more about how Groundlight's natural language computer vision technology can revolutionize your industrial and manufacturing processes, please reach out to us at info@groundlight.ai.","s":"Contact Sales","u":"/python-sdk/docs/building-applications/industrial","h":"","p":83},{"i":97,"t":"Build a working computer vision system in just a few lines of python: from groundlight import Groundlight gl = Groundlight() det = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result}\")","s":"Computer Vision powered by Natural Language","u":"/python-sdk/docs/getting-started","h":"#computer-vision-powered-by-natural-language","p":95},{"i":99,"t":"Your images are first analyzed by machine learning (ML) models which are automatically trained on your data. If those models have high enough confidence, that's your answer. But if the models are unsure, then the images are progressively escalated to more resource-intensive analysis methods up to real-time human review. So what you get is a computer vision system that starts working right away without even needing to first gather and label a dataset. At first it will operate with high latency, because people need to review the image queries. But over time, the ML systems will learn and improve so queries come back faster with higher confidence.","s":"How does it work?","u":"/python-sdk/docs/getting-started","h":"#how-does-it-work","p":95},{"i":101,"t":"Groundlight's Escalation Technology combines the power of generative AI using our Visual LLM, along with the speed of edge computing, and the reliability of real-time human oversight.","s":"Escalation Technology","u":"/python-sdk/docs/getting-started","h":"#escalation-technology","p":95},{"i":103,"t":"Install the groundlight SDK. Requires python version 3.8 or higher. See prerequisites. pip3 install groundlight Head over to the Groundlight dashboard to create an API token. You will need to set the GROUNDLIGHT_API_TOKEN environment variable to access the API. export GROUNDLIGHT_API_TOKEN=api_2GdXMflhJi6L_example Create a python script. ask.py from groundlight import Groundlight gl = Groundlight() det = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") img = \"./docs/static/img/doorway.jpg\" # Image can be a file or a Python object image_query = gl.submit_image_query(detector=det, image=img) print(f\"The answer is {image_query.result}\") Run it! python ask.py","s":"Building a simple visual application","u":"/python-sdk/docs/getting-started","h":"#building-a-simple-visual-application","p":95},{"i":106,"t":"To use the Groundlight SDK or API, you need a security token which we call an \"API Token.\" These authenticate you to Groundlight and authorize your code to use services in your account. API tokens look like api_2GdXMflhJ... and consist of a ksuid (a kind of sortable UUID) followed by a secret string.","s":"About API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#about-api-tokens","p":104},{"i":108,"t":"You should treat API tokens like passwords. Never check them directly into your code or share them. Please use best security practices with your API tokens, because if anybody gets your API token, they have nearly full control over your Groundlight account. Here are some best practices for handling API tokens: Store API tokens in a secure location, such as an encrypted vault. Use environment variables to store API tokens, rather than hardcoding them in your application. Limit the number of people who have access to API tokens. Rotate API tokens regularly and revoke old ones when they are no longer needed.","s":"Handling API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#handling-api-tokens","p":104},{"i":110,"t":"There are a couple of ways the SDK can find your API token: Environment variable (recommended): As a best practice, we recommend storing API tokens in the environment variable GROUNDLIGHT_API_TOKEN. This helps avoid accidentally committing the token to your code repository. The SDK will automatically look for the API token there, so you don't have to put it in your code at all. from groundlight import Groundlight # looks for API token in environment variable GROUNDLIGHT_API_TOKEN gl = Groundlight() Constructor argument: Alternatively, you can pass the API token directly to the Groundlight constructor. However, be cautious not to commit this code to your repository. from groundlight import Groundlight token = get_token_from_secure_location() gl = Groundlight(api_token=token)","s":"Using API Tokens with the SDK","u":"/python-sdk/docs/getting-started/api-tokens","h":"#using-api-tokens-with-the-sdk","p":104},{"i":112,"t":"You can manage your API tokens from the Groundlight dashboard at https://dashboard.groundlight.ai/reef/my-account/api-tokens.","s":"Creating and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-and-revoking-api-tokens","p":104},{"i":114,"t":"Log in to your Groundlight account and navigate to the API tokens page. Click the \"Create New API Token\" button. Give the new token a descriptive name, so you can easily identify it later. Click \"Create Token.\" Copy the generated token and store it securely, as you won't be able to see it again. Groundlight does not store a copy of your API tokens.","s":"Creating API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#creating-api-tokens","p":104},{"i":116,"t":"On the API tokens page, you can see a list of your current tokens, along with the following information: Token Name: The descriptive name you assigned when creating the token Snippet (prefix): A short, unique identifier for each token Last used: The date and time the token was last used","s":"Viewing and Revoking API Tokens","u":"/python-sdk/docs/getting-started/api-tokens","h":"#viewing-and-revoking-api-tokens","p":104},{"i":118,"t":"Locate the token you want to revoke in the list. Click the \"Delete\" button next to the token. Confirm that you want to revoke the token. Note: Revoking an API token will immediately invalidate it and prevent any applications using it from accessing your Groundlight account. Be sure to update your applications with a new token before revoking an old one.","s":"To revoke an API token","u":"/python-sdk/docs/getting-started/api-tokens","h":"#to-revoke-an-api-token","p":104},{"i":120,"t":"Here is a whimsical example of how you could use Groundlight in your home to keep your dog off the couch. This document will guide you through creating a complete application. If the dog is detected on the couch, the application will play a pre-recorded sound over the computer's speakers, instructing the dog to get off the couch. Be sure to record your own voice so that your dog pays attention to you.","s":"A Fun Example: Dog-on-Couch Detector","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"","p":119},{"i":122,"t":"Groundlight SDK with Python 3.8 or higher A supported USB or network-connected camera A pre-recorded sound file (e.g., get_off_couch.mp3) A couch and a dog are recommended for proper end-to-end testing.","s":"Requirements","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#requirements","p":119},{"i":124,"t":"Ensure you have Python 3.8 or higher installed, and then install the Groundlight SDK and OpenCV library: pip install groundlight opencv-python pillow pyaudio","s":"Installation","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#installation","p":119},{"i":126,"t":"First, log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. Import the required libraries: import time import cv2 from groundlight import Groundlight from PIL import Image import pyaudio import wave Define a function to capture an image from the camera using OpenCV: def capture_image(): cap = cv2.VideoCapture(0) ret, frame = cap.read() cap.release() if ret: # Convert to PIL image return Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) else: return None Define a function to play the pre-recorded sound: def play_sound(file_path): CHUNK = 1024 wf = wave.open(file_path, 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data: stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() Write the main application loop: gl = Groundlight() detector = gl.get_or_create_detector(\"Dog on Couch Detector\") while True: image = capture_image() if image: try: iq = gl.submit_image_query(image=image, detector=detector, wait=60) answer = iq.result.label if answer == \"YES\": print(\"Dog detected on the couch!\") play_sound(\"get_off_couch.mp3\") except Exception as e: print(f\"Error submitting image query: {e}\") else: print(\"Failed to capture image\") # Sleep for a minute before checking again time.sleep(60) This application captures an image using the capture_image function, then submits it to the Groundlight API for analysis. If the dog is detected on the couch, it plays the pre-recorded sound using the play_sound function. Save the script as dog_on_couch_detector.py and run it: python dog_on_couch_detector.py","s":"Creating the Application","u":"/python-sdk/docs/getting-started/dog-on-couch","h":"#creating-the-application","p":119},{"i":128,"t":"A quick example to get used to setting up detectors and asking good questions: set up a monitor on a live stream.","s":"A Quick Example: Live Stream Alert","u":"/python-sdk/docs/getting-started/streaming","h":"","p":127},{"i":130,"t":"Groundlight SDK with Python 3.8 or higher The video ID of a YouTube live stream you'd like to monitor","s":"Requirements","u":"/python-sdk/docs/getting-started/streaming","h":"#requirements","p":127},{"i":132,"t":"Ensure you have Python 3.8 or higher installed, and then install the Groundlight SDK and OpenCV library: # MacOS brew install ffmpeg # Ubuntu/Fedora linux sudo apt install -y ffmpeg pip install groundlight pillow ffmpeg yt-dlp typer","s":"Installation","u":"/python-sdk/docs/getting-started/streaming","h":"#installation","p":127},{"i":134,"t":"Save this command as a shell script get_latest_frame.sh: #!/bin/bash ffmpeg -i \"$(yt-dlp -g $1 | head -n 1)\" -vframes 1 last.jpg -y This will download the most recent frame from a YouTube live stream and save it to a local file last.jpg. Ensure that the script has execute permissions. You can add execute permissions using the following command: chmod +x get_latest_frame.sh Log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. import os import subprocess import typer from groundlight import Groundlight from PIL import Image def main(*, video_id: str = None, detector_name: str = None, query: str = None, confidence: float = 0.75, wait: int = 60): \"\"\" Run the script to get the stream's last frame as a subprocess, and submit result as an image query to a Groundlight detector :param video_id: Video ID of the YouTube live stream (the URLs have the form https://www.youtube.com/watch?v=) :param detector_name: Name for your Groundlight detector :param query: Question you want to ask of the stream (we will alert on the answer of NO) \"\"\" gl = Groundlight() detector = gl.get_or_create_detector(name=detector_name, query=query, confidence_threshold=confidence) while True: p = subprocess.run([\"./get_latest_frame.sh\", video_id]) if p.returncode != 0: raise RuntimeError(f\"Could not get image from video ID: {video_id}. Process exited with return code {p.returncode}.\") image = Image.open(\"last.jpg\").convert(\"RGB\") response = gl.submit_image_query(detector=detector, image=image, wait=wait) if response.result.label == \"NO\": os.system(\"say 'Alert!'\") # this may not work on all operating systems if __name__ == \"__main__\": typer.run(main) Save the script as streaming_alert.py in the same directory as get_latest_frame.sh above and run it: python streaming_alert.py --video-id= --detector-name= --query=","s":"Creating the Application","u":"/python-sdk/docs/getting-started/streaming","h":"#creating-the-application","p":127},{"i":137,"t":"This example demonstrates the application of Groundlight to a retail analytics solution, which monitors the usage of a service counter by customers throughout the day. The application creates a detector to identify when the service desk is being utilized by a customer. It checks the detector every minute, and once an hour, it prints out a summary of the percentage of time that the service counter is in use. At the end of the day, it emails the daily log. This retail analytics application can be beneficial in various ways: Staff allocation and scheduling: By analyzing the usage patterns of the service counter, store managers can optimize staff allocation and scheduling, ensuring that enough employees are available during peak hours and reducing wait times for customers. Identifying trends: The application can help identify trends in customer behavior, such as busier times of the day or specific days of the week with higher traffic. This information can be used to plan targeted marketing campaigns or promotions to increase sales and customer engagement. Improving store layout: Understanding when and how often customers use the service counter can provide insights into the effectiveness of the store's layout. Retailers can use this information to make data-driven decisions about rearranging the store layout to encourage customers to visit the service counter or explore other areas of the store. Customer satisfaction: By monitoring the usage of the service counter and proactively addressing long wait times or crowded areas, retailers can improve customer satisfaction and loyalty. A positive customer experience can lead to increased sales and return visits. To implement this retail analytics solution, a store would need to install a supported camera near the service counter, ensuring a clear view of the area. The camera would then be connected to a computer running the Groundlight-based application. Store managers would receive hourly summaries of the service counter usage and a daily log via email, enabling them to make informed decisions to improve store operations and customer experience.","s":"Tracking utilization of a customer service counter","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#tracking-utilization-of-a-customer-service-counter","p":135},{"i":139,"t":"Groundlight SDK with Python 3.8 or higher A supported USB or network-connected camera An email account with SMTP access to send the daily log","s":"Requirements","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#requirements","p":135},{"i":141,"t":"Ensure you have Python 3.8 or higher installed, and then install the Groundlight SDK, OpenCV library, and other required libraries: pip install groundlight opencv-python pillow","s":"Installation","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#installation","p":135},{"i":143,"t":"First, log in to the Groundlight dashboard and create an API Token. Next, we'll write the Python script for the application. Import the required libraries: import time import cv2 import smtplib from groundlight import Groundlight from PIL import Image from datetime import datetime, timedelta from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText Define a function to capture an image from the camera using OpenCV: def capture_image(): cap = cv2.VideoCapture(0) ret, frame = cap.read() cap.release() if ret: # Convert to PIL image return Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) else: return None Define a function to send the daily log via email. You will need to customize this for your particular network environment. def send_email(sender, receiver, subject, body): msg = MIMEMultipart() msg['From'] = sender msg['To'] = receiver msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) server = smtplib.SMTP('smtp.example.com', 587) server.starttls() server.login(sender, \"your-password\") text = msg.as_string() server.sendmail(sender, receiver, text) server.quit() Define when your business's operating hours are: START_OF_BUSINESS = 9 # e.g. 9am END_OF_BUSINESS = 17 # e.g. 5pm def is_within_business_hours(): current_hour = datetime.now().hour return START_OF_BUSINESS <= current_hour < END_OF_BUSINESS Write the main application loop: gl = Groundlight() detector = gl.get_or_create_detector( name=\"counter-in-use\", query=\"Is there a customer at the service counter?\", # We can get away with relatively low confidence since we're aggregating confidence_threshold=0.8) DELAY = 60 log = [] daily_log = [] next_hourly_start = datetime.now().replace(minute=0, second=0, microsecond=0) + timedelta(hours=1) while True: if not is_within_business_hours(): time.sleep(DELAY) continue image = capture_image() if not image: print(\"Failed to capture image\") time.sleep(DELAY) continue try: iq = gl.submit_image_query(image=image, detector=detector, wait=60) except Exception as e: print(f\"Error submitting image query: {e}\") time.sleep(DELAY) continue answer = iq.result.label log.append(answer) if datetime.now() >= next_hourly_start: next_hourly_start += timedelta(hours=1) percent_in_use = (log.count(\"YES\") / len(log)) * 100 current_time = datetime.now().replace(hour=START_OF_BUSINESS, minute=0, second=0) formatted_time = current_time.strftime(\"%I%p\") # like 3pm msg = f\"Hourly summary for {formatted_time}: {percent_in_use:.0f}% counter in use\" print(msg) daily_log.append(msg) log = [] current_hour = datetime.now().hour if current_hour == END_OF_BUSINESS and not daily_log == []: daily_summary = \"Daily summary:\\n\" for msg in daily_log: daily_summary += f\"{msg}\\n\" print(daily_summary) send_email(sender=\"counterbot@example.com\", receiver=\"manager@example.com\", subject=\"Daily Service Counter Usage Log\", body=daily_summary) daily_log = [] time.sleep(DELAY) This application captures an image using the capture_image function, then submits it to the Groundlight API for analysis. If a customer is detected at the counter, it logs the event. Every hour, it prints a summary of the counter's usage percentage, and at the end of the day, it emails the daily log using the send_email function. Save the script as service_counter_monitor.py and run it: python service_counter_monitor.py","s":"Creating the Application","u":"/python-sdk/docs/getting-started/retail-analytics","h":"#creating-the-application","p":135},{"i":146,"t":"With Groundlight's detectors, you can ask binary questions about images — i.e., the answer should be unambiguously \"YES\" or \"NO\". If you ask an ambiguous question, you may receive an \"UNSURE\" response. detector = gl.get_or_create_detector( name=\"Conveyor belt boxes\", query=\"Are there any cardboard boxes on the conveyor belt?\" ) image_query = gl.submit_image_query(detector=detector, image=some_image) # The SDK can return \"YES\" or \"NO\" (or \"UNSURE\") print(f\"The answer is {image_query.result.label}\") So, what makes a good question? Let's look at a few good ✅, moderate 🟡, and bad ❌ examples!","s":"Introduction","u":"/python-sdk/docs/getting-started/writing-queries","h":"#introduction","p":144},{"i":149,"t":"This question is binary and can be answered unambiguously with a simple \"YES\" or \"NO\" based on the image content.","s":"✅ Are there any cardboard boxes on the conveyor belt?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-are-there-any-cardboard-boxes-on-the-conveyor-belt","p":144},{"i":151,"t":"This question is okay, but it could be rephrased to be more specific. For example, \"Is the black trash can more than 80% full?\" tip With Groundlight, your questions may be routed to a machine learning model or a human reviewer. One way to improve your questions is to think, \"If I saw this question for the first time, would I know precisely what the person was trying to convey?\"","s":"🟡 Is the trash can full?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-trash-can-full","p":144},{"i":153,"t":"The query is very specific about what \"YES\" means. According to this query, any slight / partial opening would be considered \"NO\".","s":"✅ Is the garage door completely closed?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-garage-door-completely-closed","p":144},{"i":155,"t":"This question is somewhat ambiguous. Different people may have different opinions on what is nice weather. Instead, you might ask \"Can you see any clouds in the sky?\"","s":"🟡 Is the weather nice out?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-weather-nice-out","p":144},{"i":157,"t":"This is not a binary question — \"YES\" and \"NO\" don't make sense in this context. Also, it's not clear what the \"thing\" refers to.","s":"❌ Where is the thing?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-where-is-the-thing","p":144},{"i":159,"t":"While this question is binary, \"cleanliness\" can be somewhat subjective. An improved version could be: \"Are there any visible spills or clutter on the factory floor?\"","s":"🟡 Is the factory floor clean and organized?","u":"/python-sdk/docs/getting-started/writing-queries","h":"#-is-the-factory-floor-clean-and-organized","p":144},{"i":162,"t":"Typically you'll use the get_or_create_detector(name: str, query: str) method to find an existing detector you've already created with the same name, or create a new one if it doesn't exists. But if you'd like to force creating a new detector you can also use the create_detector(name: str, query: str) method from groundlight import Groundlight gl = Groundlight() detector = gl.create_detector(name=\"your_detector_name\", query=\"is this what we want to see?\")","s":"Explicitly create a new detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#explicitly-create-a-new-detector","p":160},{"i":164,"t":"from groundlight import Groundlight gl = Groundlight() detector = gl.get_detector(id=\"YOUR_DETECTOR_ID\")","s":"Retrieve an existing detector","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-existing-detector","p":160},{"i":166,"t":"from groundlight import Groundlight gl = Groundlight() # Defaults to 10 results per page detectors = gl.list_detectors() # Pagination: 1st page of 5 results per page detectors = gl.list_detectors(page=1, page_size=5)","s":"List your detectors","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#list-your-detectors","p":160},{"i":168,"t":"In practice, you may want to check for a new result on your query. For example, after a cloud reviewer labels your query. For example, you can use the image_query.id after the above submit_image_query() call. from groundlight import Groundlight gl = Groundlight() image_query = gl.get_image_query(id=\"iq_YOUR_IMAGE_QUERY_ID\")","s":"Retrieve an image query","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#retrieve-an-image-query","p":160},{"i":170,"t":"from groundlight import Groundlight gl = Groundlight() # Defaults to 10 results per page image_queries = gl.list_image_queries() # Pagination: 1st page of 5 results per page image_queries = gl.list_image_queries(page=1, page_size=5)","s":"List your previous image queries","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#list-your-previous-image-queries","p":160},{"i":172,"t":"Groundlight lets you start using models by making queries against your very first image, but there are a few situations where you might either have an existing dataset, or you'd like to handle the escalation response programatically in your own code but still include the label to get better responses in the future. With your image_query from either submit_image_query() or get_image_query() you can add the label directly. Note that if the query is already in the escalation queue due to low ML confidence or audit thresholds, it may also receive labels from another source. from groundlight import Groundlight from PIL import Image import requests gl = Groundlight() d = gl.get_or_create_detector(name=\"doorway\", query=\"Is the doorway open?\") image_url= \"https://images.selfstorage.com/large-compress/2174925f24362c479b2.jpg\" image = Image.open(requests.get(image_url, stream=True).raw) image_query = gl.submit_image_query(detector=d, image=image) gl.add_label(image_query, 'YES') # or 'NO' The only valid labels at this time are 'YES' and 'NO'.","s":"Adding labels to existing image queries","u":"/python-sdk/docs/building-applications/working-with-detectors","h":"#adding-labels-to-existing-image-queries","p":160},{"i":174,"t":"Welcome to the Groundlight SDK installation guide. In this guide, you'll find step-by-step instructions on how to install and set up the Groundlight SDK on various platforms.","s":"Installation","u":"/python-sdk/docs/installation","h":"","p":173},{"i":176,"t":"Choose your platform from the list below and follow the instructions in the corresponding guide: Linux macOS Windows Raspberry Pi NVIDIA Jetson Linux with Monitoring Notification Server ESP32 Camera Device After completing the installation process for your platform, you'll be ready to start building visual applications using the Groundlight SDK.","s":"Platform-specific Installation Guides","u":"/python-sdk/docs/installation","h":"#platform-specific-installation-guides","p":173},{"i":178,"t":"This guide will help you install the Groundlight SDK on Linux. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on Linux","u":"/python-sdk/docs/installation/linux","h":"","p":177},{"i":180,"t":"Ensure that you have the following installed on your system: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/linux","h":"#prerequisites","p":177},{"i":182,"t":"Assuming you have Python 3.8 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/linux","h":"#basic-installation","p":177},{"i":184,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#installing-groundlight-sdk","p":177},{"i":186,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\"","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/linux","h":"#checking-groundlight-sdk-version","p":177},{"i":188,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/linux","h":"#upgrading-groundlight-sdk","p":177},{"i":190,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.8\" or higher (e.g., \"3.8.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/linux","h":"#getting-the-right-python-version","p":177},{"i":192,"t":"Use your distribution's package manager to install the latest Python version: For Ubuntu or Debian-based systems: sudo apt update sudo apt install python3 (For Ubuntu 18.04 see note below.) For Fedora-based systems: sudo dnf install python3 For Arch Linux: sudo pacman -S python After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on Linux","u":"/python-sdk/docs/installation/linux","h":"#upgrading-python-on-linux","p":177},{"i":194,"t":"Ubuntu 18.04 still uses python 3.6 by default, which is end-of-life. We generally recommend using python 3.10. If you know how to install py3.10, please go ahead. But the easiest version of python 3 to use with Ubuntu 18.04 is python 3.8, which can be installed as follows without adding any extra repositories: # Prepare Ubuntu to install things sudo apt-get update # Install the basics sudo apt-get install -y python3.8 python3.8-distutils curl # Configure `python3` to run python3.8 by default sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 10 # Download and install pip3.8 curl https://bootstrap.pypa.io/get-pip.py > /tmp/get-pip.py sudo python3.8 /tmp/get-pip.py # Configure `pip3` to run pip3.8 sudo update-alternatives --install /usr/bin/pip3 pip3 $(which pip3.8) 10 # Now we can install Groundlight! pip3 install groundlight","s":"Special note about Ubuntu 18.04","u":"/python-sdk/docs/installation/linux","h":"#special-note-about-ubuntu-1804","p":177},{"i":196,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/linux","h":"#ready-to-go","p":177},{"i":198,"t":"This is the easiest way to deploy your Groundlight detectors on a linux computer. All configuration is done through a web user interface, and no code development is required.","s":"Monitoring Notification Server","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"","p":197},{"i":200,"t":"Internet- connected linux computer Video source (USB camera or RTSP stream) Groundlight API Key (available from groundlight.ai)","s":"Prerequisites","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#prerequisites","p":197},{"i":202,"t":"Our Monitoring Notification Server is a server you can deploy anywhere to easily build Groundlight Detectors, and configure them to pull from custom image sources and post notifications. The Monitoring Notification Server has a simple web interface (depected below) that allows you to configure your detector(s), and a backend that runs on your device to pull images from your camera and post notifications.","s":"Using the Application","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#using-the-application","p":197},{"i":206,"t":"There are several ways to deploy the code: Using Docker Compose Using AWS Greengrass Using Kubernetes","s":"Running the server","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-the-server","p":197},{"i":208,"t":"Use the file docker-compose.yml. Run docker-compose up in the same directory as the docker-compose.yml file. If you're using Docker Compose v2, replace docker-compose with docker compose.","s":"Running with Docker Compose","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-docker-compose","p":197},{"i":210,"t":"32-bit arm requires different binary images. Use the slightly different docker-compose-armv7.yml. Run docker-compose -f docker-compose-armv7.yml up. If you're using Docker Compose v2, replace docker-compose with docker compose.","s":"Running from Docker Compose on 32-bit ARM (armv7)","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-from-docker-compose-on-32-bit-arm-armv7","p":197},{"i":212,"t":"Before creating the component, run sudo usermod -aG docker ggc_user on your Greengrass device to allow the Greengrass service to access the host's Docker daemon. Create a new Greengrass Component Select \"Enter recipe as YAML\" Paste the YAML from greengrass-recipe.yaml into the text box Click \"Create component\" Click \"Deploy\" to deploy the component to your Greengrass group","s":"Running with AWS Greengrass","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-aws-greengrass","p":197},{"i":214,"t":"We recommend a minimal Kubernetes install like k3s. Use kubernetes.yaml manifest. Create a Kubernetes cluster and install kubectl on your machine. Run kubectl apply -f kubernetes.yaml in the same directory as the kubernetes.yaml file.","s":"Running with Kubernetes","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#running-with-kubernetes","p":197},{"i":216,"t":"Install Node.js and Python 3.8+. git clone https://github.com/groundlight/monitoring-notification-server cd monitoring-notification-server npm install npm run dev Open http://localhost:3000 with your browser to see the result. The FastApi server will be running on http://0.0.0.0:8000 – feel free to change the port in package.json (you'll also need to update it in next.config.js).","s":"Building from Source","u":"/python-sdk/docs/installation/monitoring-notification-server","h":"#building-from-source","p":197},{"i":218,"t":"This guide will help you install the Groundlight SDK on macOS. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on macOS","u":"/python-sdk/docs/installation/macos","h":"","p":217},{"i":220,"t":"Ensure that you have the following installed on your system: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/macos","h":"#prerequisites","p":217},{"i":222,"t":"Assuming you have Python 3.8 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/macos","h":"#basic-installation","p":217},{"i":224,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#installing-groundlight-sdk","p":217},{"i":226,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\"","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/macos","h":"#checking-groundlight-sdk-version","p":217},{"i":228,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/macos","h":"#upgrading-groundlight-sdk","p":217},{"i":230,"t":"To check your installed Python version, open a terminal and run: python --version If you see a version number starting with \"3.8\" or higher (e.g., \"3.8.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/macos","h":"#getting-the-right-python-version","p":217},{"i":232,"t":"Download the latest Python installer from the official Python website and run it, or use Homebrew to install Python: brew install python After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on MacOS","u":"/python-sdk/docs/installation/macos","h":"#upgrading-python-on-macos","p":217},{"i":234,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/macos","h":"#ready-to-go","p":217},{"i":236,"t":"This guide will help you install the Groundlight SDK on NVIDIA Jetson devices. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on NVIDIA Jetson","u":"/python-sdk/docs/installation/nvidia-jetson","h":"","p":235},{"i":238,"t":"Ensure that you have the following installed on your NVIDIA Jetson: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#prerequisites","p":235},{"i":240,"t":"Assuming you have Python 3.8 or higher installed on your NVIDIA Jetson, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#basic-installation","p":235},{"i":242,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip3 install groundlight An ARM-compatible version will automatically get installed. The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#installing-groundlight-sdk","p":235},{"i":244,"t":"If you have docker installed on your NVIDIA Jetson, you can even just run docker run groundlight/stream as we publish an ARM version of our streaming application to Docker Hub.","s":"Using RTSP Streams","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#using-rtsp-streams","p":235},{"i":246,"t":"For a complete end-to-end example of running on an NVIDIA Jetson, see this GitHub repo.","s":"Sample application","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#sample-application","p":235},{"i":248,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and [Building Applications","s":"Ready to go!","u":"/python-sdk/docs/installation/nvidia-jetson","h":"#ready-to-go","p":235},{"i":251,"t":"The Groundlight SDK is optimized to run on small edge devices. As such, you can use the Groundlight SDK without installing large libraries like numpy or OpenCV. But if you're already installing them, we'll use them. Our SDK detects if these libraries are installed and will make use of them if they're present. If not, we'll gracefully degrade, and tell you what's wrong if you try to use these features.","s":"Smaller is better!","u":"/python-sdk/docs/installation/optional-libraries","h":"#smaller-is-better","p":249},{"i":253,"t":"The PIL library offers a bunch of standard utilities for working with images in python. The Groundlight SDK can work without PIL. Because PIL is not very large, and is quite useful, we install it by default with the normal build of the Groundlight SDK. So when you pip3 install groundlight it comes with the pillow version of the PIL library already installed.","s":"PIL - optional but default installed","u":"/python-sdk/docs/installation/optional-libraries","h":"#pil---optional-but-default-installed","p":249},{"i":255,"t":"If you are extremely space constrained, you can install the Groundlight SDK from source without PIL and it will work properly, but with reduced functionality. Specifically, you will need to convert your images into JPEG format yourself. The SDK normally relies on PIL to do JPEG compression (which is a non-trivial algorithm), and the API requires images to be in JPEG format. However on space-constrained platforms, sometimes this conversion is done in hardware, and so we don't want to force you to install PIL if you don't need it.","s":"Working without PIL","u":"/python-sdk/docs/installation/optional-libraries","h":"#working-without-pil","p":249},{"i":257,"t":"These commonly-used libraries are not installed by default, because they are quite large, and their installation can often cause conflicts with other dependent libraries. If you want to use them, install them directly.","s":"Numpy, OpenCV - fully optional","u":"/python-sdk/docs/installation/optional-libraries","h":"#numpy-opencv---fully-optional","p":249},{"i":259,"t":"At Groundlight, we put careful thought into measuring the correctness of our machine learning detectors. In the simplest case, this means measuring detector accuracy. But our customers have vastly different performance needs since our platform allows them to train an ML model for nearly any Yes/No visual question-answering task. A single metric like accuracy is unlikely to provide adequate resolution for all such problems. Some customers might care more about false positive mistakes (precision) whereas others might care more about false negatives (recall). To provide insight for an endless variety of use cases yet still summarize performance with a single number, Groundlight's accuracy details view displays each detector's balanced accuracy. Balanced accuracy is the average of recall for all classes and is Groundlight's preferred summary metric. For binary problems, this is just the mean of accuracy on the should-be-YES images and accuracy on the should-be-NOs. We prefer balanced accuracy because it is easier to understand than metrics like the F1 score or AUROC. And since many commercially interesting problems are highly imbalanced - that is the answer is almost always YES or always NO - standard accuracy is not a useful performance measure because always predicting the most common class will yield high accuracy but be useless in practice. Figure 1: the detector accuracy details view shows balanced accuracy and per-class accuracy with exact 95% confidence intervals However, we've found that just displaying the balanced accuracy is not informative enough, as we do not always have an ample supply of ground truth labeled images to estimate it from. Ground truth labels are answers to image queries that have been provided by a customer, or customer representative, and are therefore trusted to be correct. With only a few ground truth labels, the estimate of a detector's balanced accuracy may itself be inaccurate. As such, we find it helpful to quantify and display the degree of possible inaccuracy by constructing confidence intervals for balanced accuracy, which brings us to the subject of this blog post! At Groundlight, we compute and display exact confidence intervals in order to upper and lower bound each detector's balanced accuracy, and thereby convey the amount of precision in the reported metric. The detector's accuracy details view displays these intervals as colored bars surrounding the reported accuracy numbers (see figure 1, above). This blog post describes the mathematics behind how we compute the intervals using the tails of the binomial distribution, and it also strives to provide a healthy amount of intuition for the math. Unlike the approximate confidence intervals based on the Gaussian distribution, which you may be familiar with, confidence intervals based on the binomial tails are exact, regardless of the number of ground truth labels we have available. Our exposition largely follows Langford, 2005 and we use his \"program bound\" as a primitive to construct confidence intervals for the balanced accuracy metric.","s":"Tales from the Binomial Tail: Confidence intervals for balanced accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"","p":258},{"i":261,"t":"To estimate and construct confidence intervals for balanced accuracy, we first need to understand how to construct confidence intervals for standard \"plain old\" accuracy. So we'll start here. Recall that standard accuracy is just the fraction of predictions a classifier makes which happen to be correct. This sounds simple enough, but to define this fraction rigorously, we actually need to make assumptions. To see why, consider the case that our classifier performs well on daytime images but poorly on nighttime ones. If the stream of images consists mainly of daytime photos, then our classifier's accuracy will be high, but if it's mainly nighttime images, our classifier's accuracy will be low. Or if the stream of images drifts slowly over time from day to nighttime images, our classifier won't even have a single accuracy. Its accuracy will be time-period dependent. Therefore, a classifier's \"true accuracy\" is inherently a function of the distribution of examples it's applied to. In practice, we almost never know what this distribution is. In fact, it's something of a mathematical fiction. But it happens to be a useful fiction in so far as it reflects reality, in that it lets us do things like bound the Platonic true accuracy of a classifier and otherwise reason about out-of-sample performance. Consequently, we make the assumption that there exists a distribution over the set of examples that our classifier sees, and that this distribution remains fixed over time. Let's call the distribution over images that our classifier sees, DDD. Each example in DDD consists of an image, x∈Xx \\in \\mathcal{X}x∈X, and an associated binary label, y∈y \\iny∈ { YES, NO }, which is the answer to the query. Let (x,y)∼D(x,y) \\sim D(x,y)∼D denote the action of sampling an example from DDD. We conceptualize our machine learning classifier as a function, hhh, which maps from the set of images, X\\mathcal{X}X, to the set of labels, Y\\mathcal{Y}Y. We say that hhh correctly classifies an example (x,y)(x,y)(x,y) if h(x)=yh(x) = yh(x)=y, and that hhh misclassifies it otherwise. For now, our goal is to construct a confidence inverval for the true, but unknown, accuracy of hhh. We define this true accuracy as the probability that hhh correctly classifies an example drawn from DDD: accD(h)=Pr⁡(x,y)∼D[ h(x)=y ]. \\text{acc}_{D}(h) = \\Pr_{(x,y) \\sim D}[ \\,h(x) = y\\, ].accD​(h)=(x,y)∼DPr​[h(x)=y]. The true accuracy is impossible to compute exactly because DDD is unknown and the universe of images is impossibly large. However, we can estimate it by evaluating hhh on a finite set of test examples, SSS, which have been drawn i.i.d. from DDD. That is, S={(x1,y1),(x2,y2),...,(xn,yn)}S = \\{ (x_1, y_1), (x_2, y_2), ..., (x_{n}, y_{n}) \\}S={(x1​,y1​),(x2​,y2​),...,(xn​,yn​)} where each (xi,yi)∼D(x_i, y_i) \\sim D(xi​,yi​)∼D for i=1,…,ni=1,\\ldots,ni=1,…,n. The fraction of images in SSS that hhh correctly classifies is called hhh's empirical accuracy on SSS, and this fraction is computed as acc^S(h)=1n∑i=1n1[ h(xi)=yi ].\\widehat{\\text{acc}}_{S}(h) = \\frac{1}{n} \\sum_{i=1}^n \\mathbf{1}[\\, h(x_i) = y_i \\,].accS​(h)=n1​i=1∑n​1[h(xi​)=yi​]. The notation 1[ condition ]\\mathbf{1}[\\, \\texttt{condition} \\,]1[condition] is shorthand for the indicator function which equals 1 when the condition\\texttt{condition}condition is true and 0 otherwise. So the formula above just sums the number of examples in SSS that are correctly classified and then multiplies by 1/n. The egg-shaped infographic below depicts the scenario of estimating hhh's true accuracy from its performance on a finite test set. The gray ellipse represents the full distribution of examples, DDD. Each dot corresponds to a single example image, xxx, whose true label, yyy, is represented by the dot's color - red for YES and blue for NO. The classifier, hhh, is represented by the dotted black line. Here, hhh is the decision rule that classifies all points to the left of the line as should-be YES and all points to the right as should-be-NO. The points with light gray circles around them are the ones that have been sampled to form the test set, SSS. Figure 2: true accuracy can only be estimated from performance on a finite test set. The gray shaded region represents the full distribution. The lightly circled points are examples sampled for the test set. In this case, our choice of test set, SSS, was unlucky because hhh's empirical accuracy on SSS looks great, appearing to be 9/9 = 100%. But evaluating hhh on the full distribution of examples, DDD, reveals that its true accuracy is much lower, only 24/27 = 89%. If our goal is to rarely be fooled into thinking that hhh's performance is much better than it really is, then this particular test set was unfortunate in the sense that hhh performs misleadingly well.","s":"Background","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#background","p":258},{"i":263,"t":"It turns out that the problem of determining a classifier's true accuracy from its performance on a finite test set exactly mirrors the problem of determining the bias of a possibly unfair coin after observing some number of flips. In this analogy, the act of classifying an example corresponds to flipping the coin, and the coin landing heads corresponds to the classifier's prediction being correct. Usefully, the binomial distribution completely characterizes the probability of observing kkk heads in NNN independent tosses of a biased coin whose bias, or propensity to land heads, is known to be the probability, ppp, through its probability mass function (PMF), defined as fN,p(k)=(Nk)pk(1−p)N−k.f_{N,p}(k) = {N \\choose k} p^k (1 - p)^{N-k}.fN,p​(k)=(kN​)pk(1−p)N−k. The cumulative density function (CDF) is the associated function that sums up the PMF probabilities over all outcomes (i.e., number of heads) from 0 through kkk. It tells us the probability of observing kkk or fewer heads in NNN independent tosses when the coin's bias is the probability ppp. The CDF is defined as FN,p(k)=∑j=0kfN,p(k).F_{N,p}(k) = \\sum_{j = 0}^k f_{N,p}(k).FN,p​(k)=j=0∑k​fN,p​(k). Below we've plotted the PMF (left) and CDF (right) functions for a binomial distribution whose parameters are N=30 and p=0.3. The PMF looks like a symmetric \"bell curve\". Its x-axis is the number of tosses that are heads, kkk. And its y-axis is the probability of observing kkk heads in NNN tosses. The CDF plot shows the cumulative sum of the PMF probabilities up through kkk on its y-axis. The CDF is a monotonically increasing function of kkk. Its value is 1.0 on the right side of the plot since the sum of all PMF probabilities must equal one. The binomial PMF doesn't always resemble a bell-shaped curve. This is true of the binomial distributions in the two plots below, whose respective bias parameters are p=0.15 and p=0.96.","s":"Test Set Accuracy and Coin Flips","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#test-set-accuracy-and-coin-flips","p":258},{"i":265,"t":"Now that we've examined the probability of coin tossing and seen how the number of heads from tosses of a biased coin mirrors the number of correctly classified examples in a randomly sampled test set, let's consider the problem of determining an upper bound for the true accuracy of a classifier given its performance on a test set. Imagine that we've sampled a test set, SSS, from DDD with 100 examples, and that our classifier, hhh, correctly classified 80 of them. We would like to upper bound hhh's true accuracy, accD(h)\\text{acc}_D(h)accD​(h), having observed its empirical accuracy, acc^S(h)\\widehat{\\text{acc}}_S(h)accS​(h) = 80/100 = 80%. Let's start by considering a very naive choice for the upper bound, taking it to equal the empirical accuracy of 80%. The figure below plots the PMF of a binomial distribution with parameters N=100 and p=0.80. Here, N is the test set size and p corresponds to the true, but unknown, classifier accuracy. The plot shows that if our classifier's true accuracy were in fact 80%, there would be a very good chance of observing an even lower empirical accuracy than what we actually observed. This is reflected in the substantial amount of probability mass lying to the left of the purple vertical line, which is placed at the empirical accuracy point of 80/100 = 80%. Figure 3: Binomial PMF (top) and CDF (bottom) for N=100 and true accuracy 80.0%. The CDF shows there is a 54% chance of seeing an empirical accuracy of 80% or less. In fact, the CDF of the binomial tells us that there is a 54% chance of seeing an empirical accuracy of 80% or less when the true accuracy is 80%. And since 54% is fairly good odds, our naive choice of 80% as an upper bound doesn't appear very safe. It would therefore be wise to increase our upper bound if we want it to be an upper bound! In contrast, the plot below shows that if the true accuracy were a bit higher, say 83%, we would only have a 1 in 4 chance of observing an empirical accuracy less than or equal to our observed accuracy of 80%. Or put differently, roughly a quarter of the test sets we could sample from DDD would yield an empirical accuracy of 80% or lower if hhh's true accuracy was 83%. This is shown by the 24.8% probability mass located to the left of the purple line at the 80% empirical accuracy point. The red line is positioned at the hypothesized true accuracy of 83%. Figure 4: Binomial PMF (top) and CDF (bottom) for N=100 and true accuracy 83.0%. The CDF shows there is a 24.8% chance of seeing an empirical accuracy of 80% or less. Still, events with one in four odds are quite common, so hypothesizing an even larger true accuracy would be wise if we want to ensure it's not less than the actual true accuracy. The next plot shows that if the true accuracy were higher still, at 86.3%, the empirical accuracy of 80% or less would be observed on only 5% of sampled test sets. This is evidenced by the even smaller amount of probability mass to the left of the purple line located at the empirical accuracy of 80%. Again, the red line is positioned at the hypothesized true accuracy of 86.3%. Figure 5: Binomial PMF (top) and CDF (bottom) for N=100 and true accuracy 86.3%. The CDF shows there is a 5% chance of seeing an empirical accuracy of 80% or less. In other words, if hhh's true accuracy were 86.3% or greater, we'd observe an empirical accuracy of 80% or lower on just 1 in 20 test sets. Consequently, the hypothesized true accuracy of 86.3% seems like a pretty safe choice for an upper bound.","s":"Upper Bounding the True Accuracy from Test Set Performance","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#upper-bounding-the-true-accuracy-from-test-set-performance","p":258},{"i":267,"t":"The procedure we just outlined, of increasing the hypothesized true accuracy starting from the observed empirical accuracy until exactly 5% of the binomial's probability mass lies to the left of the empirical accuracy, is how we construct an exact 95% upper confidence bound for the true accuracy. Remarkably, if we apply this procedure many times to find 95% accuracy upper confidence bounds for different ML classifiers at Groundlight, the computed upper bounds will in fact be larger than the respective classifiers' true accuracies in 95% of these encountered cases. This last statement is worth mulling over because it is exactly the right way to think about the guarantees associated with upper confidence bounds. Restated, a 95% upper confidence bound procedure for the true accuracy is one that produces a quantity greater than the true accuracy 95% of the time.","s":"Constructing a 95% Upper Confidence Bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-a-95-upper-confidence-bound","p":258},{"i":269,"t":"So now that we've intuitively described the procedure used to derive exact upper confidence bounds, we give a more formal treatment that will be useful in discussing confidence intervals for balanced accuracy. First, recall that the binomial's CDF function, FN,p(k)F_{N,p}(k)FN,p​(k), gives the probability of observing kkk or fewer heads in NNN tosses of a biased coin whose bias is ppp. Also, recall in the previous section that we decided to put exactly 5% of the probability mass in the lower tail of the PMF, and this yielded a 95% upper confidence bound. But we could have placed 1% in the lower tail, and doing so would have yielded a 99% upper confidence bound. A 99% upper confidence bound is looser than a 95% upper bound, but it upper bounds the true accuracy on 99% of test sets sampled as opposed to just 95%. The tightness of the bound versus the fraction of test sets it holds for is a trade off that we get to make referred to as the coverage. We control the coverage through a parameter named δ\\deltaδ. Above we had set δ\\deltaδ to 5% which gave us a 1 - δ\\deltaδ = 95% upper confidence bound. But we could have picked some other value for δ\\deltaδ. With δ\\deltaδ understood, we are now ready to give our formal definition of upper confidence bounds. Let δ\\deltaδ be given, NNN be the number of examples in the test set, kkk be the number of correctly classified test examples, and ppp be the true accuracy. Definition: the 100(1 - δ\\deltaδ)% binomial upper confidence bound for ppp is defined as pˉ(N,k,δ)=max⁡{ p : FN,p(k)≥δ }.\\bar{p}(N, k, \\delta) = \\max \\{ \\, p \\,:\\, F_{N,p}(k) \\ge \\delta \\,\\, \\}.pˉ​(N,k,δ)=max{p:FN,p​(k)≥δ}. In words, pˉ\\bar{p}pˉ​ is the maximum accuracy for which there exists at least δ\\deltaδ probability mass in the lower tail lying to the left of the observed number of correct classifications for the test set. And this definition exactly mirrors the procedure we used above to find the 95% upper confidence bound. We picked pˉ\\bar{p}pˉ​ to be the max ppp such that the CDF FN=100,p(k=80)F_{N=100,p}(k=80)FN=100,p​(k=80) was at least δ\\deltaδ = 5%. We can easily implement this definition in code. The binomial CDF is available in python through the scipy.stats module as binom.cdf. And we can use it to find the largest value of ppp for which FN,p(k)≥δF_{N,p}(k) \\ge \\deltaFN,p​(k)≥δ. However the CDF isn't directly invertible, so we can't just plug in δ\\deltaδ and get pˉ\\bar{p}pˉ​ out. Instead we need to search over possible values of ppp until we find the largest one that satisfies the inequality. This can be done efficiently using the interval bisection method which we implement below. from scipy.stats import binom def binomial_upper_bound(N, k, delta): \"\"\" Returns a 100*(1 - delta)% upper confidence bound on the accuracy of a classifier that correctly classifies k out of N examples. \"\"\" def cdf(p): return binom.cdf(k, N, p) def search(low, high): if high - low < 1e-6: return low # we have converged close enough mid = (low + high) / 2 if cdf(mid) >= delta: return search(mid, high) else: return search(low, mid) return search(low=k/N, high=1.0)","s":"Exact Upper Confidence Bounds based on the Binomial CDF","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#exact-upper-confidence-bounds-based-on-the-binomial-cdf","p":258},{"i":271,"t":"Referring back to our discussion of coin flips makes it clear how to construct lower bounds for true accuracy. We had likened a correct classification to a biased coin landing heads and we upper bounded the probability of heads based on the observed number of heads. But we could have used the same math to upper bound the probability of tails. And likening tails to misclassifications lets us upper bound the true error rate. Moreover, the error rate equals one minus the accuracy. And so we immediately get a lower bound on the accuracy by computing an upper bound on the error rate and subtracting it from one. Again, let δ\\deltaδ be given, NNN be the number of test examples, kkk be the number of correctly classified test examples, and let ppp be the true, but unknown, accuracy. Definition: the 100(1 - δ\\deltaδ)% binomial lower confidence bound for ppp is defined as p‾(N,k,δ)=1−max⁡{ p : FN,p(N−k)≥δ }.\\underline{p}(N, k, \\delta) = 1 - \\max \\{ \\, p \\,:\\, F_{N,p}(N - k) \\ge \\delta \\,\\, \\}.p​(N,k,δ)=1−max{p:FN,p​(N−k)≥δ}. Here N−kN - kN−k is the number of misclassified examples observed in the test set.","s":"Lower Confidence Bounds","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#lower-confidence-bounds","p":258},{"i":273,"t":"Now that we know how to derive upper and lower bounds which hold individually at a given confidence level, we can use our understanding to derive upper and lower bounds which hold simultaneously at the given confidence level. To do so, we compute what is called a central confidence interval. A 100×\\times×(1 - δ\\deltaδ)% central confidence interval is computed by running the upper and lower bound procedures with the adjusted confidence level of 100×\\times×(1 - δ\\deltaδ/2)%. For example, if we want to compute a 95% central confidence interval, we compute 97.5% lower and upper confidence bounds. This places δ\\deltaδ/2 = 2.5% probability mass in each tail, thereby providing 95% coverage in the central region. Pictorially below, you can see that the 95% central confidence interval (top row) produces wider bounds than just using the 95% lower and upper confidence bounds separately (bottom row). The looser bounds are unfortunate. But naively computing the lower and upper bounds at the original confidence level of 95% sacrifices coverage due to multiple testing. Figure 6: central confidence intervals produce wider bounds to correct for multiple testing In the next section, where we compute central confidence intervals for balanced accuracy, we will have to do even more to correct for multiple testing.","s":"Central Confidence Intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#central-confidence-intervals","p":258},{"i":275,"t":"Recall that the balanced accuracy for a binary classifier is the mean of its accuracy on examples from the positive class and its accuracy on examples from the negative class. To define what we mean by the \"true balanced accuracy\", we need to define appropriate distributions over examples from each class. To do so, we decompose DDD into separate class conditional distributions, D+D^+D+ and D−D^-D−, where Pr⁡{(x,y)∼D+}=Pr⁡{(x,y)∼D∣y=+1},\\Pr\\left\\{ (x,y) \\sim D^+ \\right\\} = \\Pr\\left\\{ (x,y) \\sim D \\mid y = +1 \\right\\},Pr{(x,y)∼D+}=Pr{(x,y)∼D∣y=+1},Pr⁡{(x,y)∼D−}=Pr⁡{(x,y)∼D∣y=−1}.\\Pr\\left\\{ (x,y) \\sim D^- \\right\\} = \\Pr\\left\\{ (x,y) \\sim D \\mid y = -1 \\right\\}.Pr{(x,y)∼D−}=Pr{(x,y)∼D∣y=−1}. The positive and negative true accuracies are defined with respect to each of these class specific distributions: acc+(h)=E(x,y)∼D+ 1[h(xi)=yi],\\text{acc}^+(h) = E_{(x,y) \\sim D^+} \\, \\mathbf{1}[ h(x_i) = y_i ],acc+(h)=E(x,y)∼D+​1[h(xi​)=yi​],acc−(h)=E(x,y)∼D− 1[h(xi)=yi].\\text{acc}^-(h) = E_{(x,y) \\sim D^-} \\, \\mathbf{1}[ h(x_i) = y_i ].acc−(h)=E(x,y)∼D−​1[h(xi​)=yi​]. The true balanced accuracy is then defined as the average of these, accbal(h)=acc+(h)+acc−(h)2.\\text{acc}_\\text{bal}(h) = \\frac{\\text{acc}^+(h) + \\text{acc}^-(h)}{2}.accbal​(h)=2acc+(h)+acc−(h)​.","s":"Confidence Bounds for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#confidence-bounds-for-balanced-accuracy","p":258},{"i":277,"t":"With the above definitions in hand, we can now bound the balanced accuracy of our classifier based on its performance on a test set. Let SSS be the test set, and let N+N^+N+ denote the number of positive examples in SSS N−N^-N− denote the number of negative examples in SSS k+k^+k+ denote the number of positive examples in SSS that hhh correctly classified k−k^-k− denote the number of negative examples in SSS that hhh correctly classified From these quantities, we can find lower and upper bounds for the positive and negative accuracies based on the binomial CDF. Denote these lower and upper bounds on positive and negative accuracy as acc+‾(h), acc+‾(h), acc−‾(h), acc−‾(h). \\underline{\\text{acc}^+}(h) ,~~ \\overline{\\text{acc}^+}(h) ,~~ \\underline{\\text{acc}^-}(h) ,~~ \\overline{\\text{acc}^-}(h).acc+​(h), acc+(h), acc−​(h), acc−(h). To find a 100(1 - δ\\deltaδ)% confidence interval for the accbal(h)\\text{acc}_\\text{bal}(h)accbal​(h), we first compute the quantities acc+‾(h)=p‾(N+,k+,δ/4) and acc+‾(h)=p‾(N+,k+,δ/4)\\underline{\\text{acc}^+}(h) = \\underline{p}(N^+, k^+, \\delta/4) ~~ \\text{ and } ~~ \\overline{\\text{acc}^+}(h) = \\overline{p}(N^+, k^+, \\delta/4)acc+​(h)=p​(N+,k+,δ/4) and acc+(h)=p​(N+,k+,δ/4)acc−‾(h)=p‾(N−,k−,δ/4) and acc−‾(h)=p‾(N−,k−,δ/4)\\underline{\\text{acc}^-}(h) = \\underline{p}(N^-, k^-, \\delta/4) ~~ \\text{ and } ~~ \\overline{\\text{acc}^-}(h) = \\overline{p}(N^-, k^-, \\delta/4)acc−​(h)=p​(N−,k−,δ/4) and acc−(h)=p​(N−,k−,δ/4) Importantly, we've used an adjusted delta value of δ/4\\delta/4δ/4 to account for mulitple testing. That is, if we desire our overall coverage to be (1 - δ\\deltaδ) = 95%, we run our individual bounding procedures with the substituted delta value of δ/4=1.25%\\delta/4 = 1.25\\%δ/4=1.25%. The reason why is as follows. By construction, each of the four bounds will fail to hold with probability δ/4\\delta/4δ/4. The union bound in appendix A tells us that the probability of at least one of these four bounds failing is no greater than the sum of the probabilities that each fails. Summing up the failure probabilities for all four bounds, the probability that at least one bound fails is therefore no greater than 4⋅(δ/4)=δ4\\cdot(\\delta/4) = \\delta4⋅(δ/4)=δ. Thus the probability that none of the bounds fails is at least 1 - δ\\deltaδ, giving us the desired level of coverage. Last, we obtain our exact lower and upper bounds for balanced accuracy by averaging the respective lower and upper bounds for the positive and negative class accuracies: accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\underline{\\text{acc}_\\text{bal}}(h) = (1/2) \\left( \\underline{\\text{acc}^+}(h) + \\underline{\\text{acc}^-}(h) \\right)accbal​​(h)=(1/2)(acc+​(h)+acc−​(h))accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\overline{\\text{acc}_\\text{bal}}(h) = (1/2) \\left( \\overline{\\text{acc}^+}(h) + \\overline{\\text{acc}^-}(h) \\right)accbal​​(h)=(1/2)(acc+(h)+acc−(h)) Pictorially below, we can see how the averaged lower and upper bounds contain the true balanced accuracy. Figure 7: the balanced accuracy is bounded by the respective averages of the lower and upper bounds","s":"Constructing the Bound for Balanced Accuracy","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#constructing-the-bound-for-balanced-accuracy","p":258},{"i":279,"t":"The main benefit of using bounds derived from the binomial CDF is that they are exact and always contain the true accuracy the desired fraction of the time. Let's compare this with the commonly used bound obtained by approximating the binomial PMF with a normal distribution. The motivation for the normal approximation comes from the central limit theorem, which states that for a binomial distribution with parameters NNN and ppp, the distribution of the empirical accuracy, p^=k/N\\hat{p} = k/Np^​=k/N, converges to a normal distribution as the sample size, NNN, goes to infinity, p^⟶dN(p,p(1−p)N).\\hat{p} \\stackrel{d}{\\longrightarrow} \\mathcal{N}\\left(p, \\frac{p(1-p)}{N}\\right).p^​⟶d​N(p,Np(1−p)​). This motivates the use of the traditional two-standard deviation confidence interval in which one reports Pr⁡{∣p−p^∣≤1.96 σ^}≥95% where σ^=p^(1−p^)N.\\Pr\\left\\{ | p - \\hat{p} | \\le 1.96 \\,\\hat{\\sigma} \\right\\} \\ge 95\\% ~ ~ ~ \\text{where} ~ ~ ~ \\hat{\\sigma} = \\sqrt{ \\frac{ \\hat{p}(1-\\hat{p}) }{N} }.Pr{∣p−p^​∣≤1.96σ^}≥95% where σ^=Np^​(1−p^​)​​. But it's well known that the normal distribution poorly approximates the sampling distribution of p^\\hat{p}p^​ when ppp is close to zero or one. For instance, if we observe zero errors on the test set, then p^\\hat{p}p^​ will equal 1.0 (i.e., 100% empirical accuracy), and the sample standard deviation, σ^\\hat{\\sigma}σ^, will equal zero. The estimated lower bound will therefore be equal to the empirical accuracy of 100%, which is clearly unbelievable. And since we train classifiers to have as close to 100% accuracy as possible, the regime in which ppp is close to one is of major interest. Thus, exact confidence intervals based on the binomial CDF are both more accurate and practically useful than those based on the normal approximation.","s":"Comparison with intervals based on the Normal approximation","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#comparison-with-intervals-based-on-the-normal-approximation","p":258},{"i":281,"t":"At Groundlight, we've put a lot of thought and effort into assessing the performance of our customers' ML models so they can easily understand how their detectors are performing. This includes the use of balanced accuracy as the summary performance metric and exact confidence intervals to convey the precision of the reported metric. Here we've provided a detailed tour of the methods we use to estimate confidence intervals around balanced accuracy. The estimated intervals are exact in that they possess the stated coverage, no matter how many ground truth labeled examples are available for testing. Our aim in this post has been to provide a better understanding of the metrics we display, how to interpret them, and how they're derived. We hope we've succeeded! If you are interested in reading more about these topics, see the references and brief appendices below.","s":"Conclusion","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#conclusion","p":258},{"i":283,"t":"[Langford, 2005] Tutorial on Practical Prediction Theory for Classification. Journal of Machine Learning Research 6 (2005) 273–306. [Brodersen et al., 2010] The balanced accuracy and its posterior distribution. Proceedings of the 20th International Conference on Pattern Recognition, 3121-24.","s":"References","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#references","p":258},{"i":285,"t":"Recall that the union bound states that for a collection of events, A1,A2,…,AnA_1, A_2, \\ldots, A_nA1​,A2​,…,An​, the probability that at least one of them occurs is less than the sum of the probabilities that each of them occurs: Pr⁡{∪i=1nAi}≤∑i=1nPr⁡(Ai).\\Pr\\left\\{ \\cup_{i=1}^n A_i \\right\\} \\le \\sum_{i=1}^n \\Pr(A_i).Pr{∪i=1n​Ai​}≤∑i=1n​Pr(Ai​). Pictorially, the union bound is understood from the image below which shows that area of the union of the regions is no greater than the sum of the regions' areas. Figure 8: Visualizing the union bound. The area of each region AiA_iAi​ corresponds to the probability that event AiA_iAi​ occurs. The sum of the total covered area must be less than the sum of the individual areas.","s":"Appendix A - the union bound","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-a---the-union-bound","p":258},{"i":287,"t":"The semantics around frequentist confidence intervals is subtle and confusing. The construction of a 95% upper confidence bound does NOT imply there is a 95% probability that the true accuracy is less than the bound. It only guarantees that the true accuracy is less than the upper bound in at least 95% of the cases that we run the the upper confidence bounding procedure (assuming we run the procedure many many times). For each individual case, however, the true accuracy is either greater than or less than the bound. And thus, for each case, the probability that the true accuracy is less than the bound equals either 0 or 1, we just don't know which. If you instead desire more conditional semantics, you need to use Bayesian credible intervals. See Brodersen et al., 2010 for a nice derivation of credible intervals for balanced accuracy.","s":"Appendix B - interpretation of confidence intervals","u":"/python-sdk/blog/confidence-intervals-for-balanced-accuracy","h":"#appendix-b---interpretation-of-confidence-intervals","p":258},{"i":289,"t":"This guide will help you install the Groundlight SDK on Windows. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on Windows","u":"/python-sdk/docs/installation/windows","h":"","p":288},{"i":291,"t":"Ensure that you have the following installed on your system: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/windows","h":"#prerequisites","p":288},{"i":293,"t":"Assuming you have Python 3.8 or higher installed on your system, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/windows","h":"#basic-installation","p":288},{"i":295,"t":"To install the Groundlight SDK using pip, run the following command in your Command Prompt: pip install groundlight If you're also using python2 on your system, you might need to use pip3 instead: pip3 install groundlight The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#installing-groundlight-sdk","p":288},{"i":297,"t":"To check if the Groundlight SDK is installed and to display its version, you can use the following Python one-liner: python -c \"import groundlight; print(groundlight.__version__)\"","s":"Checking Groundlight SDK Version","u":"/python-sdk/docs/installation/windows","h":"#checking-groundlight-sdk-version","p":288},{"i":299,"t":"If you need to upgrade the Groundlight SDK to the latest version, use the following pip command: pip install --upgrade groundlight Or, if you're using pip3: pip3 install --upgrade groundlight After upgrading, you can use the Python one-liner mentioned in the \"Checking Groundlight SDK Version\" section to verify that the latest version is now installed.","s":"Upgrading Groundlight SDK","u":"/python-sdk/docs/installation/windows","h":"#upgrading-groundlight-sdk","p":288},{"i":301,"t":"To check your installed Python version, open a Command Prompt and run: python --version If you see a version number starting with \"3.8\" or higher (e.g., \"3.8.5\" or \"3.9.0\"), you're good to go. If not, you might need to upgrade Python on your system.","s":"Getting the right Python Version","u":"/python-sdk/docs/installation/windows","h":"#getting-the-right-python-version","p":288},{"i":303,"t":"Download the latest Python installer from the official Python website and run it. After upgrading, verify the Python version by running python --version or python3 --version, as described earlier.","s":"Upgrading Python on Windows","u":"/python-sdk/docs/installation/windows","h":"#upgrading-python-on-windows","p":288},{"i":305,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/windows","h":"#ready-to-go","p":288},{"i":307,"t":"Groundlight supplies a tool for no-code deployment of a detector to an ESP32 Camera board. You can find it at https://iot.groundlight.ai/espcam.","s":"No-Code IoT Deployment","u":"/python-sdk/docs/iot","h":"","p":306},{"i":309,"t":"This tool is designed to make it as easy as possible to deploy your Groundlight detector on an ESP32 Camera Board. You can deploy your detector in just a few clicks. Go to https://iot.groundlight.ai/espcam Plug your ESP32 Camera Board into your computer with a USB cable. Click through the steps to upload your detector to your ESP32 Camera Board. When prompted, allow your browser access to the serial port, so that it can program the device. If you don't see a prompt like this, try using a current version of Chrome or another browser that supports Web Serial.","s":"Easy Deployment","u":"/python-sdk/docs/iot","h":"#easy-deployment","p":306},{"i":311,"t":"The tool supports the following notification options for your deployed detector: Email SMS (With Twilio) Slack","s":"Notification Options","u":"/python-sdk/docs/iot","h":"#notification-options","p":306},{"i":313,"t":"Tested with the following boards. Many other ESP32 boards should work as well, but may require building the firmware from source and changing the IO pin definitions. M5Stack ESP32 PSRAM Timer Camera [purchase here] M5Stack ESP32 PSRAM Timer Camera X [purchase here] ESP32-CAM [purchase here] SeeedStudio ESP32S3 Sense [purchase here]","s":"Multiple Supported Boards","u":"/python-sdk/docs/iot","h":"#multiple-supported-boards","p":306},{"i":315,"t":"The source code is written as an Arduino-based PlatformIO project for ESP32, and is available on GitHub at https://github.com/groundlight/esp32cam If you need assistance or have questions about integrating Groundlight with Arduino, please consider opening an issue on the GitHub repository or reaching out to our support team.","s":"Source Code","u":"/python-sdk/docs/iot","h":"#source-code","p":306},{"i":317,"t":"This guide will help you install the Groundlight SDK on Raspberry Pi. The Groundlight SDK requires Python 3.8 or higher.","s":"Installing on Raspberry Pi","u":"/python-sdk/docs/installation/raspberry-pi","h":"","p":316},{"i":319,"t":"Ensure that you have the following installed on your Raspberry Pi: Python 3.8 or higher pip (Python package installer)","s":"Prerequisites","u":"/python-sdk/docs/installation/raspberry-pi","h":"#prerequisites","p":316},{"i":321,"t":"Assuming you have Python 3.8 or higher installed on your Raspberry Pi, you can proceed with the following steps to install or upgrade the Groundlight SDK:","s":"Basic Installation","u":"/python-sdk/docs/installation/raspberry-pi","h":"#basic-installation","p":316},{"i":323,"t":"To install the Groundlight SDK using pip, run the following command in your terminal: pip3 install groundlight An ARM-compatible version will automatically get installed. The Groundlight SDK is now installed and ready for use.","s":"Installing Groundlight SDK","u":"/python-sdk/docs/installation/raspberry-pi","h":"#installing-groundlight-sdk","p":316},{"i":325,"t":"If you have docker installed on your Raspberry Pi, you can even just run docker run groundlight/stream as we publish an ARM version of our streaming application to Docker Hub.","s":"Using RTSP Streams","u":"/python-sdk/docs/installation/raspberry-pi","h":"#using-rtsp-streams","p":316},{"i":327,"t":"For a complete end-to-end example of running on a Raspberry Pi, see this GitHub repo.","s":"Sample application","u":"/python-sdk/docs/installation/raspberry-pi","h":"#sample-application","p":316},{"i":329,"t":"You're now ready to start using the Groundlight SDK in your projects. For more information on using the SDK, refer to the API Tokens and Building Applications documentation pages.","s":"Ready to go!","u":"/python-sdk/docs/installation/raspberry-pi","h":"#ready-to-go","p":316}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,0.775,1,4.461,2,2.047,3,5.475,4,2.572,5,2.868,6,3.34,7,2.706,8,3.769,9,3.601,10,5.791,11,2.746,12,3.34,13,3.34,14,2.072,15,3.34,16,3.069,17,2.706,18,2.114,19,2.868,20,2.572,21,2.572,22,2.357,23,2.357,24,2.572,25,3.34,26,3.34,27,1.475,28,2.706,29,3.34,30,3.34,31,2.868,32,1.028,33,3.34,34,2.538,35,2.746,36,0.808,37,3.069,38,3.34,39,3.453,40,3.34,41,1.507,42,2.706,43,3.34,44,4.893,45,2.868,46,3.34,47,2.268,48,2.114,49,3.069,50,3.069,51,3.069,52,2.868,53,2.868,54,2.047,55,2.047,56,4.893,57,1.69,58,1.69,59,2.706,60,2.868,61,2.706,62,3.34,63,2.357,64,2.868,65,2.572,66,2.457,67,3.34,68,2.706,69,3.069,70,3.34]],["t/5",[0,0.732,1,3.801,2,2.071,3,5.505,4,2.602,5,2.901,6,3.379,7,2.738,8,3.801,9,3.631,10,5.83,11,2.77,12,3.379,13,3.379,14,2.09,15,3.379,16,3.105,17,2.738,18,2.139,19,2.901,20,2.602,21,2.602,22,2.384,23,2.384,24,2.602,25,3.379,26,3.379,27,1.492,28,2.738,29,3.379,30,3.379,31,2.901,32,1.04,33,3.379,34,2.56,35,2.77,36,0.817,37,3.105,38,3.379,39,3.483,40,3.379,41,1.524,42,2.738,43,3.379,44,4.935,45,2.901,46,3.379,47,2.294,48,2.139,49,3.105,50,3.105,51,3.105,52,2.901,53,2.901,54,2.071,55,2.071,56,4.935,57,1.71,58,1.71,59,2.738,60,2.901,61,2.738,62,3.379,63,2.384,64,2.901,65,2.602,66,2.486,67,3.379,68,2.738,69,3.105,70,3.379]],["t/7",[0,0.68,3,3.007,4,2.697,7,2.838,8,5.022,9,4.378,11,1.965,14,1.483,22,3.574,23,3.574,32,1.077,41,2.285,65,2.697,71,3.501,72,3.501,73,2.471,74,4.655,75,5.109,76,3.501,77,3.501,78,2.471,79,1.772,80,2.697,81,2.697,82,3.007,83,3.218,84,4.349,85,2.838,86,3.931,87,2.576,88,2.217,89,3.007,90,5.687,91,3.931,92,3.931,93,4.349,94,5.687,95,4.822,96,2.843,97,3.501,98,3.931,99,5.95,100,2.843,101,3.931,102,3.931,103,3.931,104,3.007,105,3.501,106,3.218,107,3.218,108,3.931,109,3.931,110,3.501,111,3.931,112,3.501,113,3.501,114,3.931,115,3.501,116,3.931,117,2.697]],["t/9",[0,0.682,1,3.026,9,2.891,14,1.664,22,4.68,23,4.475,27,2.428,31,3.374,39,2.773,41,1.129,49,3.611,53,3.374,54,2.974,55,2.974,57,1.988,60,3.374,61,3.184,63,1.766,64,2.148,65,4.234,75,2.148,80,1.927,81,1.927,84,3.374,85,2.027,88,1.584,95,4.455,96,1.404,118,2.299,119,1.766,120,2.809,121,2.148,122,2.502,123,2.299,124,1.038,125,1.927,126,2.148,127,1.841,128,2.146,129,4.459,130,2.809,131,3.026,132,3.929,133,2.809,134,2.668,135,2.502,136,2.809,137,2.502,138,2.299,139,2.027,140,1.584,141,1.638,142,1.841,143,2.148,144,1.766,145,1.584,146,2.809,147,2.809,148,3.929,149,1.927,150,2.809,151,2.809,152,2.027,153,2.148,154,1.841,155,2.502,156,3.929,157,2.502,158,2.299,159,2.502,160,2.809,161,2.502,162,4.412,163,2.502,164,2.148,165,1.699,166,3.611,167,2.809,168,1.18,169,1.766,170,3.184,171,3.929,172,2.148,173,2.809,174,2.027,175,1.584,176,1.766,177,2.809,178,2.027,179,2.148,180,2.809,181,2.299,182,2.027,183,1.534,184,2.809,185,2.809,186,2.809,187,1.584]],["t/11",[0,0.476,8,1.22,9,4.215,19,1.36,21,1.22,22,1.118,23,1.118,27,1.558,32,0.831,36,0.383,39,1.906,41,2.298,48,1.003,54,0.971,55,0.971,57,1.366,58,1.366,60,4.919,61,2.86,63,1.906,64,1.36,65,4.189,76,1.584,80,2.718,81,2.08,84,3.58,85,1.283,95,3.792,96,0.889,122,1.584,124,2.256,131,1.22,132,1.584,137,1.584,138,1.456,139,1.283,140,1.709,143,3.031,144,1.118,148,1.584,149,1.22,157,1.584,161,1.584,164,2.318,165,3.177,166,3.832,169,2.491,170,3.792,187,2.962,188,1.584,189,1.075,190,2.7,191,2.482,192,1.22,193,1.584,194,1.778,195,1.778,196,2.482,197,1.584,198,1.584,199,1.456,200,1.36,201,1.778,202,1.22,203,2.718,204,1.778,205,1.778,206,1.584,207,1.456,208,1.118,209,1.778,210,1.778,211,1.36,212,1.778,213,1.778,214,5.254,215,1.456,216,1.475,217,2.188,218,1.584,219,2.482,220,1.075,221,1.283,222,1.22,223,1.36,224,1.118,225,1.981,226,1.584,227,3.215,228,1.456,229,1.584,230,1.778,231,1.778,232,1.778,233,1.584,234,1.584,235,0.715,236,1.283,237,1.584,238,0.971,239,1.401,240,2.7,241,3.032,242,1.584,243,2.482,244,3.379,245,1.778,246,2.7,247,1.778,248,1.283,249,1.456,250,1.778,251,1.456,252,1.283,253,2.7,254,1.456,255,1.778,256,3.244,257,1.456,258,1.778,259,2.482,260,1.778,261,1.401,262,1.778,263,1.165,264,1.778,265,1.778,266,1.778,267,1.456,268,3.963,269,2.7,270,1.283,271,1.584,272,0.822,273,1.003,274,1.584,275,1.584,276,2.08,277,1.22,278,1.584,279,1.778,280,1.36,281,1.584,282,3.529,283,2.7,284,1.584,285,1.778,286,1.584,287,1.456,288,1.22,289,1.778,290,1.456,291,1.584,292,1.584,293,1.584,294,1.075,295,1.778,296,1.283,297,1.456,298,1.778,299,1.584,300,1.456,301,1.36,302,2.7,303,1.456,304,1.584,305,1.584]],["t/13",[0,0.16,2,0.858,4,1.078,7,3.11,8,3.665,9,3.501,14,1.361,21,1.078,22,2.708,23,2.269,27,1.072,34,0.726,35,0.786,37,1.286,39,1.714,41,2.305,42,4.382,59,1.134,61,1.134,65,4.688,74,1.286,75,1.202,77,1.4,84,2.761,89,1.202,95,1.968,96,1.363,97,1.4,99,3.838,100,1.363,124,0.581,129,1.286,131,1.87,138,1.286,140,1.537,143,2.085,153,1.202,154,1.03,155,1.4,156,1.4,163,2.428,164,4.643,165,4.357,169,3.064,170,2.606,181,1.286,183,1.488,207,1.286,220,0.95,224,0.988,227,0.786,228,1.286,237,1.4,254,2.232,261,1.991,269,1.4,271,2.428,272,0.726,276,3.344,278,1.4,280,1.202,281,1.4,294,1.649,302,3.838,303,2.955,304,3.215,305,3.215,306,1.572,307,1.572,308,1.572,309,1.572,310,1.286,311,2.085,312,1.078,313,1.286,314,1.4,315,1.572,316,1.286,317,1.4,318,1.03,319,2.428,320,1.572,321,0.95,322,1.572,323,1.572,324,2.606,325,1.572,326,1.572,327,1.572,328,1.572,329,2.232,330,1.572,331,1.4,332,1.4,333,1.286,334,1.134,335,1.4,336,1.4,337,1.572,338,2.726,339,1.202,340,1.572,341,1.572,342,1.4,343,1.572,344,4.875,345,1.572,346,1.572,347,2.726,348,1.4,349,1.4,350,1.572,351,1.572,352,1.572,353,1.05,354,1.572,355,1.4,356,1.487,357,1.572,358,1.145,359,1.572,360,1.202,361,1.572,362,2.606,363,1.572,364,2.726,365,3.61,366,1.572,367,1.572,368,2.726,369,2.726,370,1.572,371,0.988,372,1.572,373,2.726,374,1.572,375,1.572,376,1.572,377,1.078,378,1.572,379,1.968,380,1.4,381,0.917,382,1.572,383,1.4,384,1.537,385,0.988,386,1.572,387,1.4,388,1.286,389,3.61,390,3.99,391,0.95,392,2.428,393,1.078,394,1.572,395,1.572,396,1.572,397,1.572,398,0.917,399,2.428,400,1.4,401,2.428,402,1.4,403,1.572,404,1.572,405,1.286,406,2.726,407,1.572,408,1.572,409,1.572,410,1.572,411,1.572,412,0.988,413,1.572,414,1.4,415,1.4,416,1.572,417,0.988,418,1.572,419,1.572,420,1.202,421,1.202,422,1.572,423,1.572,424,1.202,425,1.572,426,1.4,427,0.988,428,1.4,429,1.4,430,1.572]],["t/15",[0,0.357,7,2.531,8,3.587,9,3.427,11,1.753,14,1.972,17,3.774,22,2.204,23,2.204,66,2.298,93,3.999,95,5.002,96,1.753,124,2.31,125,2.406,131,2.406,164,2.682,165,3.781,166,6.775,168,2.197,169,3.287,170,3.774,176,2.204,189,2.121,192,2.406,225,1.753,239,1.62,242,3.123,251,2.871,261,1.62,272,1.62,282,3.123,283,3.123,294,2.121,296,2.531,297,2.871,299,3.123,300,2.871,301,2.682,336,3.123,381,2.045,385,3.287,388,2.871,427,2.204,431,3.507,432,2.045,433,3.507,434,5.229,435,2.531,436,3.162,437,3.123,438,3.507,439,3.507,440,2.871,441,3.507,442,3.507,443,3.507,444,3.507,445,3.507,446,2.298,447,2.871,448,3.507,449,2.871,450,1.662,451,2.871,452,3.507,453,5.229,454,3.507,455,2.871,456,2.406,457,3.123,458,3.507,459,3.507,460,2.682,461,2.298,462,3.123,463,2.045]],["t/17",[0,0.741,14,1.735,41,2.925,78,2.891,85,4.586,124,2.348,169,2.891,174,3.32,216,3.091,259,3.765,263,3.014,286,4.097,301,3.518,310,3.765,381,2.683,399,4.097,402,4.097,428,4.097,461,3.014,464,4.6,465,4.097,466,4.097,467,6.354,468,5.659,469,3.518,470,4.6,471,6.354,472,4.097,473,3.32,474,3.765,475,4.097,476,4.6,477,3.765,478,4.097,479,3.765,480,4.6,481,2.024,482,4.097,483,4.6,484,4.6,485,4.6,486,4.6,487,4.6,488,4.6,489,4.6,490,3.765,491,4.097,492,2.782,493,4.6]],["t/19",[0,0.478,1,3.224,3,3.594,11,2.349,19,3.594,22,4.054,23,2.954,31,3.594,48,2.65,74,3.847,78,2.954,79,2.118,197,4.186,228,3.847,261,2.171,333,3.847,381,2.741,384,2.65,429,4.186,463,2.741,492,2.842,494,4.7,495,4.186,496,3.594,497,4.7,498,3.594,499,4.7,500,4.424,501,4.7,502,4.186,503,4.7,504,4.7,505,4.186,506,4.7,507,3.224,508,3.847,509,4.7,510,4.186,511,4.186,512,4.186,513,3.392,514,4.186,515,3.392,516,3.392,517,4.7,518,4.7,519,4.7,520,4.7,521,4.7,522,4.7,523,4.186,524,4.7,525,4.7,526,4.7]],["t/22",[0,0.788,14,1.956,32,1.422,34,2.397,35,2.593,39,3.261,79,2.338,119,3.261,128,3.767,172,3.967,206,4.62,381,3.026,468,4.62,490,4.246,502,4.62,527,4.246,528,4.246,529,3.261,530,3.4,531,2.338,532,4.976,533,4.62,534,2.747,535,4.976,536,1.526,537,3.967,538,3.967,539,3.744,540,3.559,541,3.559,542,5.188,543,3.137,544,3.744,545,5.188,546,4.62,547,4.62,548,4.62]],["t/24",[0,0.733,128,4.119,490,5.895,543,4.355,549,4.355,550,5.895,551,4.201]],["t/26",[0,0.802,14,1.242,32,1.65,34,2.304,35,2.493,48,1.857,66,2.158,96,1.646,125,2.259,126,2.519,127,2.158,128,3.693,134,3.641,172,2.519,175,2.812,187,3.394,189,1.992,216,2.427,224,2.07,239,2.304,252,2.377,272,1.522,273,1.857,294,1.992,324,2.377,384,1.857,507,2.259,516,4.345,528,2.696,529,3.135,530,3.269,532,2.377,534,1.744,535,3.6,536,0.969,543,1.992,547,2.933,552,3.293,553,3.293,554,1.242,555,2.377,556,3.293,557,3.814,558,3.293,559,3.293,560,2.696,561,2.07,562,4.928,563,2.377,564,2.933,565,3.293,566,2.158,567,2.696,568,3.814,569,2.696,570,1.602,571,3.293,572,2.519,573,3.269,574,3.293,575,2.933,576,3.293,577,4.442,578,2.696,579,2.696,580,2.933,581,3.269,582,3.293,583,2.519,584,3.293,585,2.933,586,2.933,587,3.6,588,2.519,589,2.696,590,2.259,591,3.293,592,3.293,593,2.377,594,2.933]],["t/28",[149,4.403,270,4.633,479,5.254,568,4.908,581,5.61,595,4.206,596,4.206,597,4.403,598,4.633,599,2.069,600,4.908,601,2.42,602,6.418,603,5.254,604,4.633,605,6.418,606,6.418]],["t/30",[0,0.696,16,3.361,18,2.315,36,0.885,41,1.65,42,2.963,54,2.241,55,2.241,68,2.963,96,2.052,124,2.167,141,2.395,187,2.315,191,3.361,225,2.052,227,2.052,244,2.963,248,2.963,257,3.361,371,2.58,412,2.58,463,2.395,536,1.726,563,2.963,581,5.769,597,2.816,607,7.317,608,2.58,609,4.105,610,4.941,611,2.69,612,2.69,613,4.105,614,4.105,615,2.69,616,4.105,617,4.105,618,4.105,619,6.651,620,4.105,621,3.656,622,3.656,623,4.105,624,3.656,625,4.105,626,3.656,627,3.656,628,2.816,629,4.105,630,3.656,631,4.105,632,2.963,633,3.14,634,3.656]],["t/32",[0,0.89,36,1.306,353,2.333,356,1.848,536,1.783,563,4.373,581,3.971,607,6.789,621,5.396,635,4.96,636,5.396,637,2.948,638,6.059,639,5.396,640,6.059,641,4.156,642,4.96,643,5.396,644,6.059,645,1.632,646,6.059]],["t/34",[0,0.698,32,1.41,57,2.32,80,3.531,96,2.573,124,2.534,143,5.244,144,3.235,145,4.637,187,4.348,202,3.531,217,3.715,220,3.112,221,3.715,222,5.291,223,5.244,224,4.31,272,2.378,316,4.213,381,3.002,450,2.439,527,4.213,577,4.584,647,3.531,648,5.147,649,4.584,650,5.147,651,5.147,652,5.147,653,4.213,654,3.531,655,4.213]],["t/36",[0,0.703,2,1.632,18,1.686,24,3.178,27,1.176,32,1.269,36,0.644,57,2.556,58,1.348,63,2.911,93,2.287,124,1.711,145,3.895,187,1.686,217,2.158,218,5.05,222,4.38,223,3.542,227,2.834,238,1.632,261,2.14,263,1.96,267,2.448,290,2.448,311,2.287,333,2.448,353,2.183,356,2.52,398,1.744,417,4.013,435,2.158,446,1.96,450,1.417,456,2.051,474,2.448,508,2.448,516,3.343,536,1.363,538,2.287,578,2.448,599,0.964,632,2.158,645,0.805,647,2.051,656,1.176,657,3.792,658,2.99,659,2.287,660,1.879,661,2.663,662,2.99,663,2.99,664,2.448,665,2.99,666,2.99,667,2.99,668,2.99,669,2.99,670,1.96,671,2.99,672,2.99,673,2.99,674,5.05,675,2.663,676,2.663,677,2.99,678,4.632,679,2.287,680,4.125,681,2.448,682,2.448,683,2.448,684,2.287,685,2.663,686,1.96,687,2.051,688,2.663,689,1.537,690,2.663,691,2.663,692,2.287,693,3.343,694,1.808,695,2.663,696,2.158,697,2.663,698,2.99,699,2.051,700,2.663,701,2.663]],["t/38",[0,0.688,11,1.672,32,0.916,36,0.721,41,2.919,58,1.507,63,2.102,106,2.737,124,2.5,145,3.426,175,1.886,187,1.886,202,2.294,223,3.859,224,2.102,227,3.038,267,2.737,272,3.356,277,2.294,291,2.978,318,2.192,353,1.288,356,2.73,398,2.943,417,3.819,450,1.585,536,0.984,579,4.13,599,1.078,635,4.974,645,0.901,653,4.13,656,1.315,657,2.737,670,3.307,674,2.978,676,2.978,681,2.737,682,2.737,694,2.022,702,2.737,703,2.978,704,3.344,705,5.046,706,3.344,707,2.557,708,6.077,709,3.344,710,6.768,711,3.344,712,2.414,713,6.077,714,2.022,715,6.077,716,5.412,717,5.046,718,2.978,719,3.344,720,2.737]],["t/40",[0,0.825,2,1.957,18,2.021,27,1.41,32,0.982,58,1.616,79,1.616,124,2.588,211,4.064,222,2.459,227,4.055,235,1.44,256,2.934,311,2.741,353,2.046,356,2.741,417,5.348,446,2.349,463,2.091,516,3.836,578,4.35,579,5.184,633,2.741,660,2.253,670,2.349,675,3.192,681,2.934,682,2.934,694,3.83,695,3.192,696,2.587,712,4.571,718,4.733,721,3.584,722,3.584,723,4.35,724,5.314,725,3.483,726,3.584,727,2.741,728,2.934,729,3.584,730,3.584,731,2.091,732,3.584,733,2.741,734,3.584,735,3.584,736,3.584,737,3.584]],["t/42",[0,0.64,36,1.356,79,2.837,96,3.146,119,3.956,128,3.062,168,2.644,175,3.549,179,4.813,294,4.72,540,4.318,573,5.115,738,6.294,739,4.813,740,6.294,741,6.294,742,3.549,743,4.813,744,4.125]],["t/44",[0,0.618,36,0.721,79,2.274,96,2.522,142,2.192,168,2.12,183,1.826,248,2.414,275,5.412,296,2.414,297,4.974,353,1.943,356,2.703,469,2.557,575,5.412,596,3.307,637,1.627,739,2.557,745,4.885,746,2.557,747,2.978,748,5.412,749,3.344,750,2.414,751,5.046,752,2.414,753,2.414,754,2.737,755,5.046,756,3.344,757,3.344,758,3.344,759,2.737,760,3.344,761,3.344,762,2.557,763,2.737,764,3.344,765,2.978,766,3.344,767,5.046,768,5.046,769,3.344,770,3.344,771,2.737,772,2.737,773,5.046,774,3.344,775,2.557,776,3.344,777,3.344,778,2.978,779,5.046,780,3.344,781,3.344,782,3.344,783,2.737,784,3.344,785,3.344,786,3.344,787,3.344,788,2.737,789,3.344,790,2.978,791,3.344,792,4.494,793,3.344,794,2.978,795,3.344,796,2.737,797,3.344,798,3.344,799,3.344,800,3.344,801,2.978]],["t/46",[0,0.709,36,1.502,79,3.141,119,4.381,179,5.33,294,4.215,561,4.381,744,4.567,802,6.207,803,5.03,804,5.705]],["t/48",[73,4.075,742,3.655,744,5.209,748,5.773,750,4.679,765,5.773,805,5.773,806,4.447,807,6.483,808,6.483,809,5.773,810,6.483,811,6.483,812,6.483,813,6.483,814,6.483,815,4.957]],["t/50",[0,0.666,36,1.411,41,3.214,100,3.273,123,5.36,236,4.726,573,5.242,750,4.726,806,4.492,816,4.726,817,5.832,818,6.548,819,5.832,820,6.548,821,5.36]],["t/52",[14,2.374,41,2.529,100,3.146,176,3.956,199,5.152,200,4.813,233,5.606,287,5.152,300,5.152,436,3.806,564,5.606,744,4.125,745,4.543,815,4.813,822,5.115,823,6.294,824,5.152,825,6.294,826,6.294,827,6.294]],["t/54",[41,2.505,42,4.499,66,4.085,100,3.116,208,3.918,573,4.085,604,4.499,742,3.515,744,4.085,796,5.103,815,5.934,828,5.103,829,6.234,830,6.234,831,6.234,832,6.234,833,6.234,834,6.234,835,6.234,836,5.103,837,5.552]],["t/56",[41,2.554,93,4.86,159,5.66,294,3.843,498,4.86,573,4.165,687,4.36,743,4.86,744,4.165,745,4.587,824,5.202,838,6.356,839,3.47,840,5.66,841,6.356,842,6.356,843,5.66,844,6.356,845,6.356,846,5.66]],["t/58",[0,0.584,32,1.572,36,1.236,41,2.306,66,3.76,96,2.868,100,2.868,128,2.791,179,4.388,294,4.453,334,4.141,534,3.038,554,2.164,573,4.825,743,4.388,744,3.76,745,4.141,803,4.141,804,4.697,805,5.11,815,4.388,839,4.02,847,5.738,848,5.738,849,4.697,850,5.11,851,5.738,852,5.738]],["t/60",[36,1.486,52,5.273,183,3.765,216,3.355,273,3.888,731,4.022,853,6.896,854,5.644,855,6.896,856,4.022,857,4.977,858,5.273]],["t/62",[0,0.875,20,5.08,36,1.247,124,2.139,216,2.816,353,2.851,356,2.491,450,2.743,637,2.816,731,4.319,859,5.156,860,3.794,861,4.178,862,4.739,863,4.739,864,5.789,865,3.794,866,5.789,867,7.405,868,5.789,869,5.789]],["t/64",[0,0.643,27,1.796,36,0.984,57,2.85,124,1.687,169,3.975,183,2.494,211,3.493,216,3.529,353,1.759,356,2.594,561,2.871,679,3.493,683,3.739,684,3.493,685,4.068,686,2.993,687,3.133,688,4.068,690,4.068,691,4.068,692,3.493,693,5.65,700,4.068,701,4.068,849,3.739,854,3.739,856,3.688,857,3.297,858,3.493,860,2.993,861,3.297,870,3.133,871,4.068,872,6.324,873,3.133,874,3.739,875,5.547,876,3.739,877,4.068,878,4.567,879,3.493,880,4.068]],["t/66",[0,0.482,36,1.02,79,2.134,124,1.749,203,3.247,216,2.303,353,1.823,356,1.977,388,3.875,534,2.506,543,2.863,686,3.102,856,2.761,857,5.334,858,3.62,859,4.216,862,3.875,873,3.247,874,5.305,875,4.956,876,3.875,880,4.216,881,3.102,882,4.734,883,3.875,884,3.875,885,4.734,886,4.216,887,4.734,888,4.216,889,4.734,890,4.734,891,3.875,892,4.734,893,4.734,894,4.734,895,4.734,896,4.734,897,4.734,898,4.734,899,4.734,900,6.481,901,4.734,902,4.734,903,4.734,904,4.734,905,4.734,906,4.216,907,4.734]],["t/68",[0,0.685,5,2.531,32,0.907,36,0.713,71,2.948,81,2.271,85,3.614,115,2.948,124,2.672,131,3.435,153,2.531,183,1.807,208,2.081,211,2.531,216,3.275,261,1.529,356,2.054,387,4.459,421,2.531,450,1.569,477,2.71,500,2.271,529,2.081,536,0.974,587,2.389,656,1.302,661,2.948,699,3.435,849,2.71,856,3.522,857,4.359,858,3.829,862,2.71,873,2.271,874,5.511,875,6.041,876,5.511,877,2.948,881,2.169,883,2.71,884,4.099,906,5.378,908,3.31,909,3.31,910,3.31,911,3.31,912,3.31,913,3.31,914,1.931,915,2.948,916,3.31,917,2.271,918,3.31,919,5.007,920,3.31,921,3.31,922,2.531,923,3.31,924,3.31,925,1.866,926,5.007,927,3.31,928,2.948,929,2.71,930,2.948,931,3.31,932,3.829,933,3.31,934,2.948,935,2.948,936,3.31,937,2.948,938,3.31,939,3.31]],["t/70",[52,4.065,81,5.376,124,3.078,142,4.591,183,4.278,192,3.646,220,3.214,235,2.136,412,3.341,449,4.351,491,6.979,527,4.351,560,6.415,561,3.341,647,4.806,725,3.483,850,4.734,870,3.646,940,5.315,941,7.006,942,5.315,943,3.646,944,5.315,945,4.065,946,7.006]],["t/72",[0,0.55,11,1.115,14,1.759,21,1.53,39,1.402,58,1.005,68,1.61,79,1.652,82,1.705,104,1.705,124,2.505,187,2.066,203,1.53,224,3.396,225,2.332,227,2.701,235,0.896,238,2.001,239,3.488,240,1.986,253,1.986,256,1.826,261,1.03,270,3.367,288,1.53,293,1.986,296,1.61,324,3.367,353,1.796,356,2.068,381,1.301,385,1.402,398,1.301,417,1.402,420,1.705,432,1.301,447,1.826,450,1.057,456,1.53,461,1.462,463,3.743,474,3,507,2.514,531,1.005,539,2.645,544,1.61,566,1.462,567,1.826,568,3.568,569,3,570,2.628,572,3.568,597,3.2,637,1.085,659,4.564,694,2.216,696,2.645,699,1.53,712,1.61,725,1.462,731,1.301,753,1.61,762,1.705,803,1.61,861,1.61,865,1.462,935,1.986,947,1.986,948,2.803,949,1.826,950,1.826,951,4.131,952,2.23,953,1.986,954,1.705,955,1.53,956,2.23,957,1.986,958,1.826,959,2.23,960,3.264,961,3.264,962,2.216,963,3.665,964,1.03,965,2.23,966,3,967,1.986,968,2.23,969,2.23,970,2.23,971,2.23,972,1.986,973,1.986,974,2.23,975,1.986,976,2.23,977,2.23,978,3.264,979,2.803,980,1.986,981,2.23,982,1.705,983,1.956,984,1.986,985,1.986,986,1.61,987,2.23,988,2.23,989,2.23,990,1.986,991,2.23,992,3.665,993,2.23,994,2.23,995,2.23,996,2.23,997,1.218,998,2.23,999,2.23,1000,2.23,1001,1.61,1002,1.986,1003,3.665,1004,1.986,1005,2.23]],["t/74",[0,0.733,128,3.504,235,2.894,513,5.198,528,5.895,550,5.895,551,4.201,1006,6.414]],["t/76",[0,0.616,81,4.156,100,3.029,126,4.634,192,4.156,246,5.396,272,2.799,536,1.783,601,2.875,608,5.242,742,3.416,775,4.634,943,4.156,1007,4.373,1008,6.059,1009,3.971,1010,6.059,1011,5.396,1012,5.396,1013,6.059,1014,3.416,1015,6.059]],["t/78",[32,1.692,35,3.856,41,2.481,57,2.783,58,2.783,119,3.881,149,4.236,172,4.722,263,4.046,479,5.054,531,2.783,534,3.269,543,3.734,561,3.881,1007,4.456,1016,5.499,1017,6.869,1018,6.174,1019,6.174,1020,6.174,1021,6.174]],["t/80",[11,2.92,41,2.993,54,3.189,55,4.066,82,4.467,118,4.781,165,3.532,225,2.92,272,2.699,301,4.467,348,6.633,426,5.202,531,2.633,543,3.532,739,4.467,881,3.828,1007,4.216,1022,5.841,1023,8.635,1024,4.216,1025,5.841,1026,5.202,1027,4.781]],["t/82",[0,0.701,34,3.186,35,3.447,128,3.355,272,3.186,529,4.334,530,4.519,587,4.977,588,5.273,589,5.644,590,4.73,914,4.022]],["t/84",[0,0.574,14,2.126,34,3.364,35,3.64,128,2.743,139,4.069,272,2.605,529,3.544,530,3.695,535,4.069,566,3.695,581,3.695,587,5.255,589,4.615,590,3.868,622,5.021,1028,5.638,1029,4.615,1030,5.638,1031,5.638,1032,5.021,1033,4.069,1034,5.021,1035,5.638,1036,3.695,1037,5.021,1038,5.638,1039,5.638,1040,5.638,1041,5.021]],["t/86",[14,2.072,32,1.506,34,2.539,35,2.747,39,3.454,113,4.894,145,4.037,196,5.861,259,4.498,273,3.098,414,4.894,529,3.454,530,3.601,655,4.498,742,3.098,1029,4.498,1036,3.601,1042,5.495,1043,5.495,1044,7.16,1045,5.495,1046,5.495,1047,5.495,1048,4.894,1049,5.495,1050,5.495,1051,5.495,1052,5.495,1053,5.495,1054,4.894,1055,5.495,1056,5.495,1057,5.495]],["t/88",[34,2.651,35,2.868,100,2.868,196,4.697,202,3.936,273,3.235,412,3.606,529,3.606,530,3.76,836,4.697,837,5.11,1032,5.11,1033,5.315,1036,3.76,1058,5.11,1059,4.697,1060,5.738,1061,5.11,1062,5.738,1063,5.738,1064,6.558,1065,5.11,1066,5.738,1067,5.738,1068,5.738,1069,5.738,1070,5.738,1071,5.738,1072,5.11]],["t/90",[34,3.364,35,3.64,83,4.615,100,2.818,139,4.069,273,3.179,329,4.615,531,2.541,566,3.695,590,3.868,603,4.615,656,2.217,836,4.615,886,5.021,1036,3.695,1041,7.182,1073,4.615,1074,5.638,1075,5.638,1076,5.638,1077,5.021,1078,5.638,1079,5.638,1080,5.638,1081,5.638,1082,5.638,1083,5.638,1084,4.615,1085,5.638]],["t/92",[32,1.493,34,2.517,35,2.724,188,4.853,190,4.853,193,4.853,273,3.072,566,3.571,590,3.738,594,4.853,600,4.167,641,3.738,647,3.738,655,4.46,742,3.072,819,4.853,854,4.46,955,3.738,1001,3.933,1036,4.667,1037,6.342,1048,4.853,1054,6.342,1065,4.853,1086,5.449,1087,5.449,1088,5.449,1089,5.449,1090,5.449,1091,5.449,1092,4.46,1093,5.449,1094,5.449,1095,5.449]],["t/94",[14,2.494,34,3.056,35,3.307,48,3.729,139,4.774,273,3.729,529,4.158,530,4.335,562,5.414,587,4.774,590,4.538,1036,4.335,1096,6.615,1097,5.058,1098,6.615,1099,6.615]],["t/97",[0,0.814,34,2.56,35,2.77,119,3.483,124,2.048,238,3.026,353,2.134,356,2.677,377,3.802,492,3.351,531,2.498,538,4.238,561,3.483,637,2.696,645,1.939,694,3.351,712,4,863,4.536,865,3.632,979,4.238,1100,5.542,1101,4.536,1102,4.536,1103,4.936,1104,4.936,1105,3.802,1106,4.936,1107,4.936]],["t/99",[11,2.176,14,1.642,34,2.011,35,2.176,68,3.142,88,2.454,124,1.608,145,2.454,187,3.448,203,2.986,208,2.736,216,2.975,238,2.377,239,2.825,261,2.825,379,4.414,391,4.275,420,3.329,460,3.329,461,2.853,463,3.567,498,3.329,531,1.962,539,3.142,561,2.736,562,3.563,568,3.329,597,4.849,615,2.853,656,1.712,728,3.563,794,3.877,821,3.563,950,3.563,953,3.877,954,3.329,957,3.877,961,3.877,983,1.576,1001,3.142,1033,3.142,1108,4.353,1109,3.142,1110,3.142,1111,4.353,1112,4.353,1113,6.115,1114,4.353,1115,2.853,1116,3.877,1117,4.353,1118,4.353,1119,3.877,1120,4.353,1121,3.563,1122,4.353]],["t/101",[32,1.759,135,5.716,261,2.965,273,3.619,420,4.908,532,4.633,581,4.206,583,4.908,954,4.908,958,5.254,1017,5.716,1036,4.206,1123,6.418,1124,6.418,1125,6.418,1126,5.716,1127,6.418,1128,6.418,1129,6.418]],["t/103",[0,0.859,36,0.964,88,2.522,124,1.653,168,2.618,225,2.236,235,1.797,238,2.442,353,1.722,356,2.489,358,1.879,432,2.609,492,2.705,534,3.3,538,3.421,596,2.931,599,2.01,601,1.687,628,3.068,637,2.176,641,3.068,642,3.661,643,3.984,645,2.089,656,1.759,694,2.705,712,3.228,783,3.661,863,3.661,865,2.931,979,3.421,983,1.62,1101,3.661,1102,3.661,1103,3.984,1104,3.984,1105,3.068,1106,3.984,1107,3.984,1130,1.687,1131,4.473,1132,2.522,1133,3.984,1134,2.609,1135,4.473,1136,3.421,1137,6.232]],["t/106",[0,0.758,36,1.259,79,2.633,168,3.444,254,4.781,536,2.191,595,3.828,656,2.297,746,4.467,932,4.467,1134,4.344,1138,5.202,1139,5.841,1140,5.841,1141,3.293,1142,5.841,1143,5.841,1144,5.841,1145,5.841,1146,5.841,1147,5.841,1148,5.841,1149,5.841,1150,5.841]],["t/108",[0,0.455,2,2.442,21,3.068,41,1.797,66,2.931,79,2.016,88,2.522,168,3.714,317,3.984,384,2.522,456,3.068,469,3.421,536,1.834,566,2.931,595,2.931,596,2.931,641,3.068,742,2.522,803,4.498,804,5.102,860,2.931,947,3.984,1097,3.421,1121,3.661,1134,2.609,1138,3.984,1141,4.887,1151,4.473,1152,4.473,1153,3.984,1154,4.473,1155,4.473,1156,4.473,1157,3.984,1158,5.102,1159,4.473,1160,4.473,1161,4.473,1162,4.473,1163,4.473,1164,2.522,1165,4.473,1166,4.473,1167,3.984,1168,3.661,1169,3.984]],["t/110",[0,0.85,36,1.311,79,3.175,121,3.307,168,3.384,178,3.121,353,2.344,356,2.332,461,2.834,549,2.615,635,3.54,636,5.421,637,2.961,641,4.832,642,5.765,707,3.307,727,3.307,783,4.982,803,3.121,809,3.851,860,2.834,932,3.307,1007,4.393,1134,4.875,1141,2.438,1170,4.324,1171,3.851,1172,4.324,1173,4.324,1174,4.324,1175,4.324,1176,3.121,1177,3.121,1178,4.324,1179,4.324,1180,4.324,1181,4.324,1182,4.324,1183,4.324]],["t/112",[0,0.733,168,3.025,207,5.895,628,4.94,1141,4.774,1184,7.201,1185,7.201]],["t/114",[0,0.724,168,3.332,235,2.19,355,6.342,385,4.476,534,3.77,540,3.738,580,4.853,595,3.571,822,3.571,955,3.738,1004,4.853,1059,4.46,1134,4.906,1141,4.015,1158,5.829,1186,5.449,1187,5.446,1188,4.853,1189,4.853,1190,4.853,1191,4.167,1192,5.449,1193,4.853,1194,4.167]],["t/116",[140,3.235,168,2.41,235,2.306,261,2.651,276,5.051,280,4.388,436,3.47,540,3.936,554,2.164,816,4.141,914,4.295,1126,5.11,1134,5.004,1141,4.151,1190,5.11,1191,5.631,1195,4.697,1196,5.738,1197,5.738,1198,5.738,1199,5.738,1200,5.738,1201,5.738,1202,5.738]],["t/118",[0,0.564,27,2.18,32,1.519,128,3.503,168,2.328,277,3.802,349,4.936,385,3.483,398,3.233,595,3.632,699,3.802,723,4.536,873,3.802,962,4.354,1134,5.118,1167,6.412,1168,4.536,1187,4.238,1188,4.936,1195,4.536,1203,5.542,1204,5.542,1205,5.542,1206,7.2,1207,5.542,1208,5.542,1209,4.936]],["t/120",[0,0.564,2,3.026,41,2.893,88,3.125,117,3.802,450,2.626,536,1.631,816,4,1073,4.536,1209,4.936,1210,5.542,1211,5.542,1212,5.542,1213,6.93,1214,6.546,1215,5.542,1216,3.483,1217,4.536,1218,4.536,1219,4.536,1220,4.536,1221,4.536,1222,5.542,1223,5.542,1224,5.542,1225,5.542,1226,5.542,1227,5.542,1228,5.542]],["t/122",[0,0.628,36,1.33,57,2.783,176,3.881,604,4.456,645,1.663,943,4.236,983,2.236,1105,4.236,1130,2.328,1171,5.499,1213,5.054,1214,5.054,1219,5.054,1220,5.054,1221,5.054,1229,5.054,1230,4.722,1231,6.174,1232,6.174,1233,5.291,1234,4.722]],["t/124",[0,0.814,36,1.411,599,2.579,645,2.154,839,3.575,856,4.665,870,4.492,983,2.371,1130,2.469,1235,2.193,1236,3.186,1237,5.007,1238,5.832]],["t/126",[0,0.655,24,1.774,32,1.414,41,2.073,57,1.165,58,1.862,89,1.977,124,2.767,168,1.735,203,3.539,215,2.116,217,1.866,222,1.774,227,1.292,238,2.255,248,1.866,261,1.194,318,3.862,334,2.982,353,2.776,356,2.643,362,2.982,371,2.597,391,1.563,398,1.508,534,1.369,539,1.866,541,1.774,601,0.975,628,1.774,637,1.258,645,1.112,670,1.694,679,1.977,680,2.303,684,1.977,689,1.329,692,3.159,693,1.866,699,1.774,714,1.563,720,2.116,731,2.41,750,1.866,752,1.866,759,2.116,762,1.977,763,3.381,771,2.116,822,1.694,856,1.508,917,1.774,922,1.977,1009,1.694,1073,2.116,1134,1.508,1136,3.159,1194,1.977,1213,2.116,1214,4.223,1218,3.381,1219,3.381,1220,3.381,1221,3.381,1238,2.303,1239,1.977,1240,2.585,1241,3.159,1242,4.595,1243,2.303,1244,3.679,1245,2.303,1246,2.303,1247,2.303,1248,2.303,1249,2.585,1250,2.585,1251,2.585,1252,2.585,1253,2.585,1254,2.585,1255,1.774,1256,2.585,1257,2.585,1258,2.585,1259,2.585,1260,2.585,1261,4.131,1262,2.585,1263,2.585,1264,2.585,1265,2.585,1266,1.977,1267,2.585,1268,2.303,1269,2.303,1270,2.303,1271,2.585,1272,2.585,1273,2.303,1274,1.977,1275,2.585,1276,2.585,1277,2.585,1278,4.131]],["t/128",[11,4.073,134,4.083,200,5.164,225,3.375,450,3.2,515,4.873,639,6.014,914,3.938,1009,4.425,1279,6.752,1280,6.752,1281,4.632,1282,5.527]],["t/130",[0,0.701,36,1.486,200,5.273,243,5.644,645,1.857,945,5.273,983,2.497,1009,4.519,1130,2.6,1282,5.644,1283,6.141,1284,5.644]],["t/132",[0,0.749,36,1.236,356,2.246,599,2.766,645,1.545,839,3.133,856,3.347,870,3.936,983,2.078,1130,2.164,1235,1.921,1236,2.791,1237,4.388,1285,4.697,1286,5.11,1287,7.242,1288,5.738,1289,3.936,1290,4.388,1291,4.697,1292,3.936,1293,5.11,1294,5.11,1295,5.11]],["t/134",[0,0.675,17,1.728,24,3.361,32,0.656,41,0.962,58,2.541,79,1.079,124,2.083,144,1.505,168,1.006,202,1.643,227,2.449,238,1.307,239,1.106,243,3.179,276,1.643,334,1.728,353,2.386,356,2.626,362,1.728,371,1.505,398,1.397,412,1.505,417,1.505,516,1.728,534,1.268,541,1.643,554,0.903,598,1.728,601,1.465,628,1.643,637,1.165,645,1.046,659,1.831,670,3.211,686,1.569,689,1.231,693,2.803,696,1.728,731,1.397,747,2.133,790,3.459,822,1.569,839,1.307,925,2.763,945,3.747,951,1.831,962,1.448,966,1.96,990,3.459,1009,3.211,1014,2.19,1033,1.728,1105,1.643,1133,2.133,1134,1.397,1136,4.738,1191,1.831,1255,1.643,1266,1.831,1282,3.179,1283,3.459,1287,2.133,1292,1.643,1293,2.133,1294,2.133,1295,2.133,1296,2.395,1297,4.9,1298,2.395,1299,2.395,1300,1.643,1301,2.395,1302,3.884,1303,2.395,1304,2.395,1305,2.395,1306,1.96,1307,2.395,1308,3.884,1309,5.637,1310,4.364,1311,3.884,1312,2.395,1313,2.395,1314,2.395,1315,2.395,1316,4.9,1317,2.395,1318,2.133,1319,2.395,1320,1.505,1321,1.96,1322,3.884,1323,2.395,1324,2.395,1325,2.395,1326,2.395,1327,3.884,1328,2.395,1329,2.395,1330,2.395,1331,2.133,1332,2.395,1333,2.395,1334,2.395,1335,2.133,1336,2.395,1337,2.395,1338,2.395,1339,3.884,1340,1.96,1341,1.643,1342,2.395,1343,2.395,1344,2.395,1345,2.395,1346,2.395]],["t/137",[0,0.381,20,1.573,28,3.433,34,1.059,41,2.434,48,1.293,51,1.877,57,1.69,58,1.69,59,3.965,63,1.441,73,2.357,82,1.754,89,1.754,100,1.146,106,1.877,118,1.877,121,1.754,141,1.338,182,1.655,198,2.042,203,1.573,221,3.433,244,5.347,249,1.877,261,1.059,272,1.059,329,3.069,371,1.441,392,2.042,400,2.042,436,2.267,450,1.087,462,2.042,482,2.042,505,3.339,510,2.042,535,1.655,536,1.399,544,1.655,599,0.739,603,1.877,656,0.902,659,2.867,660,1.441,739,1.754,742,1.293,806,1.573,822,2.457,828,1.877,846,2.042,914,1.338,983,0.83,1001,2.706,1006,2.042,1011,2.042,1027,1.877,1029,1.877,1059,3.069,1061,2.042,1072,2.042,1077,2.042,1110,1.655,1158,5.617,1229,1.877,1230,1.754,1233,1.573,1347,4.756,1348,4.756,1349,6.376,1350,4.497,1351,2.293,1352,2.293,1353,2.293,1354,2.042,1355,2.293,1356,5.617,1357,2.042,1358,2.042,1359,1.754,1360,2.042,1361,2.042,1362,3.069,1363,3.749,1364,3.749,1365,3.749,1366,3.749,1367,2.293,1368,2.293,1369,3.749,1370,2.293,1371,2.293,1372,2.293,1373,2.293,1374,2.293,1375,2.293,1376,2.293,1377,2.293,1378,2.293,1379,2.042,1380,3.749,1381,2.293,1382,4.756,1383,1.877,1384,2.293,1385,2.293,1386,2.293,1387,3.749,1388,2.293,1389,3.749,1390,2.293,1391,2.293,1392,3.339,1393,3.749,1394,1.754,1395,2.293,1396,2.293,1397,2.293,1398,2.293,1399,3.749,1400,2.293,1401,2.293,1402,2.293,1403,2.042,1404,1.877,1405,2.293,1406,2.293,1407,1.754,1408,2.293]],["t/139",[0,0.666,36,1.411,57,2.951,169,4.116,595,4.291,596,4.291,604,4.726,645,1.763,822,4.291,943,4.492,983,2.371,1130,2.469,1229,5.36,1230,5.007,1362,5.36,1407,5.007,1409,6.548]],["t/141",[0,0.809,36,1.397,599,2.563,645,2.141,839,3.539,856,4.637,870,4.447,917,4.447,983,2.347,1130,2.445,1235,2.171,1236,3.154,1237,4.957,1239,4.957]],["t/143",[0,0.51,24,1.13,28,1.189,32,1.025,41,1.504,57,0.743,58,0.743,59,2.049,63,1.035,96,0.824,124,2.294,168,1.193,169,1.035,176,1.785,215,1.348,217,1.189,222,1.13,227,0.824,238,0.899,239,0.761,244,2.049,248,1.189,261,0.761,318,2.916,334,2.049,353,2.501,356,2.826,362,2.701,371,2.352,391,0.996,398,0.961,534,0.872,536,0.835,539,1.189,541,1.13,601,0.621,604,1.189,628,1.13,637,0.801,641,1.13,645,0.765,656,0.648,670,1.08,679,1.26,684,1.26,689,0.847,692,2.171,693,1.189,720,1.348,731,1.656,750,1.189,752,1.189,754,1.348,759,1.348,762,1.26,763,2.324,771,1.348,822,3.595,856,0.961,865,1.08,917,1.13,922,1.26,949,1.348,966,1.348,1027,1.348,1116,1.467,1134,0.961,1136,2.171,1218,1.348,1233,1.13,1239,1.26,1241,2.862,1242,3.333,1243,1.467,1244,2.529,1245,1.467,1246,1.467,1247,1.467,1248,1.467,1266,1.26,1268,1.467,1269,1.467,1270,1.467,1273,1.467,1335,1.467,1349,3.963,1356,2.324,1357,1.467,1358,1.467,1359,2.171,1360,1.467,1361,1.467,1362,3.063,1407,1.26,1410,1.647,1411,2.839,1412,1.647,1413,1.647,1414,2.839,1415,1.647,1416,1.647,1417,1.647,1418,1.647,1419,3.742,1420,2.529,1421,1.647,1422,3.742,1423,1.647,1424,1.647,1425,1.647,1426,1.647,1427,1.647,1428,1.467,1429,1.647,1430,1.647,1431,1.647,1432,1.647,1433,1.647,1434,2.324,1435,1.647,1436,1.647,1437,1.647,1438,1.647,1439,2.839,1440,1.647,1441,1.647,1442,3.742,1443,1.647,1444,1.647,1445,2.839,1446,4.449,1447,2.839,1448,1.647,1449,1.647,1450,1.26,1451,1.647,1452,1.647,1453,1.647,1454,1.647,1455,4.449,1456,3.742,1457,1.647,1458,2.839,1459,1.647,1460,2.839,1461,4.449,1462,3.742,1463,1.647,1464,1.647,1465,1.647,1466,1.647,1467,1.647,1468,1.26,1469,1.647,1470,1.647,1471,1.647,1472,2.839,1473,1.647,1474,1.647,1475,1.647,1476,1.647,1477,1.647,1478,1.647,1479,2.839,1480,1.647,1481,1.647,1482,1.647,1483,1.647,1484,1.647,1485,1.647,1486,1.647,1487,1.647,1488,1.467,1489,1.647,1490,1.647,1491,2.839]],["t/146",[36,1.027,58,2.149,125,3.271,134,2.884,216,2.32,238,3.556,273,2.689,321,2.884,356,2.739,371,2.997,377,3.271,515,3.442,551,2.782,694,2.884,714,3.939,754,3.903,778,4.247,932,3.647,950,5.332,951,3.647,979,3.647,1281,4.468,1320,4.094,1321,5.332,1331,4.247,1404,3.903,1492,3.903,1493,4.247,1494,4.247,1495,4.769,1496,6.514,1497,6.514,1498,4.769,1499,4.769,1500,4.769,1501,4.769,1502,4.769,1503,3.647,1504,4.769]],["t/149",[124,2.631,272,3.291,321,4.307,381,4.154,626,6.343,714,4.307,1320,4.477,1493,6.343,1505,7.122]],["t/151",[0,0.569,14,2.73,27,2.198,145,3.152,251,4.575,261,2.582,270,4.034,312,3.834,391,3.38,421,4.275,450,2.649,456,3.834,507,3.834,515,5.226,806,3.834,954,4.275,975,4.978,980,4.978,1001,4.034,1109,4.034,1320,4.551,1506,5.59,1507,5.59,1508,4.978,1509,4.978,1510,5.59,1511,4.978,1512,5.59,1513,5.59,1514,5.59,1515,4.575]],["t/153",[227,4.125,234,6.141,356,2.104,500,4.73,714,4.17,806,4.73,1516,6.141,1517,6.896,1518,6.896,1519,6.896,1520,6.141]],["t/155",[18,3.807,142,5.34,158,5.527,235,2.713,451,5.527,1121,5.527,1320,4.244,1321,5.527,1494,6.014,1521,6.752,1522,6.752,1523,6.752,1524,6.752]],["t/157",[20,4.73,73,4.334,199,5.644,321,4.17,356,2.104,714,4.17,1176,4.977,1320,4.334,1525,5.644,1526,5.273,1527,6.896,1528,6.896]],["t/159",[158,5.644,321,4.17,358,2.897,585,6.141,1320,4.334,1529,6.896,1530,6.896,1531,6.896,1532,6.896,1533,6.896,1534,6.896,1535,6.896]],["t/162",[0,0.785,27,2.024,58,3.476,144,3.235,219,5.613,227,3.428,235,2.068,303,4.213,353,1.982,356,2.092,385,4.31,534,2.725,536,2.018,549,3.112,593,3.715,637,2.504,816,3.715,865,3.373,962,3.112,1092,4.213,1191,3.936,1284,4.213,1310,7.325,1536,5.147,1537,5.147,1538,5.147,1539,3.936,1540,4.213,1541,4.213,1542,4.584,1543,5.147,1544,5.147]],["t/164",[0,0.911,58,3.21,353,2.742,356,2.566,637,3.465,1545,7.122]],["t/166",[0,0.841,134,4.556,224,4.735,263,3.898,353,2.29,356,2.736,393,4.08,540,5.672,637,2.894,1546,5.297,1547,6.167,1548,5.948,1549,5.297,1550,5.297,1551,5.948,1552,5.297]],["t/168",[0,0.845,178,4.333,227,3.788,353,2.311,356,2.312,384,3.385,385,3.773,417,3.773,450,3.591,536,1.766,619,5.346,637,2.921,694,3.63,697,5.346,746,4.591,861,4.333,962,3.63,986,4.333,1341,4.118,1511,5.346,1553,6.003]],["t/170",[0,0.841,224,4.735,263,3.898,353,2.29,356,2.736,393,4.08,540,5.672,637,2.894,1546,5.297,1547,6.167,1549,5.297,1550,5.297,1552,5.297,1554,7.534,1555,5.948,1556,5.948]],["t/172",[0,0.745,17,2.838,32,1.077,78,2.471,79,1.772,124,2.468,187,2.217,227,1.965,239,1.816,261,1.816,274,3.501,290,3.218,294,2.377,296,2.838,353,2.572,356,2.369,377,2.697,391,2.377,460,4.349,463,2.293,492,2.377,500,2.697,569,3.218,597,2.697,637,1.913,694,3.439,696,2.838,702,3.218,703,3.501,714,3.439,725,2.576,731,2.293,753,2.838,788,3.218,824,3.218,860,2.576,861,2.838,865,2.576,873,2.697,948,3.007,951,3.007,958,4.655,967,3.501,972,3.501,973,3.501,978,3.501,982,3.007,986,4.104,1092,3.218,1101,3.218,1102,3.218,1119,3.501,1284,3.218,1404,3.218,1450,3.007,1539,3.007,1557,2.377,1558,3.931,1559,3.931,1560,3.931,1561,3.931,1562,3.931,1563,3.931,1564,3.931,1565,3.931,1566,3.931,1567,3.931]],["t/174",[0,0.809,11,3.241,36,1.713,225,3.241,535,4.679,549,3.92,593,4.679,599,2.09,1216,4.996,1568,6.483,1569,5.306,1570,7.949,1571,5.773,1572,5.773]],["t/176",[0,0.564,32,1.519,36,1.194,54,3.026,55,3.026,57,2.498,96,2.77,128,2.696,165,3.351,175,3.125,202,3.802,532,4,593,4,610,4,611,3.632,612,3.632,802,4.936,997,3.026,1195,4.536,1216,3.483,1285,4.536,1289,4.939,1394,4.238,1557,3.351,1569,4.536,1571,4.936,1573,4.936,1574,6.412,1575,5.542,1576,4.936,1577,4,1578,5.542,1579,3.026]],["t/178",[0,0.839,36,1.778,100,3.447,432,4.022,599,2.223,645,1.857,983,2.497,1130,2.6,1216,4.334,1289,4.73]],["t/180",[531,3.141,554,2.628,645,2.236,839,3.805,983,2.524,1130,2.628,1235,2.334,1236,3.391,1580,4.781,1581,4.567]],["t/182",[0,0.694,36,1.47,531,3.075,554,2.573,599,2.2,645,1.837,983,2.47,1130,2.573,1235,2.285,1582,4.681,1583,4.925,1584,4.681,1585,3.847]],["t/184",[0,0.878,18,3.293,32,2.041,36,1.605,481,2.57,531,2.633,536,2.191,554,2.203,599,2.644,601,2.203,656,2.297,964,2.699,1014,3.293,1132,4.199,1235,1.956,1236,3.623,1579,3.189,1586,4.007,1587,4.781]],["t/186",[0,0.819,27,2.601,36,1.425,353,2.547,358,2.779,384,3.729,536,1.946,554,2.494,645,2.167,1235,2.215,1588,4.774,1589,4.538,1590,5.414,1591,5.414]],["t/188",[0,0.856,27,2.143,32,1.493,36,1.534,154,3.571,358,3.332,481,2.398,536,2.095,554,2.055,599,2.296,645,1.467,656,2.143,964,2.517,1014,3.072,1132,4.015,1235,1.825,1236,3.464,1274,4.167,1585,4.472,1589,3.738,1592,4.885,1593,3.738,1594,4.46,1595,3.738]],["t/190",[176,3.808,235,2.435,358,3.503,384,3.416,492,3.664,531,2.731,601,2.285,645,2.246,656,2.383,964,2.799,983,2.194,1130,2.285,1164,3.416,1235,2.029,1281,4.156,1585,3.416,1586,4.156,1596,4.634,1597,4.96,1598,4.96,1599,4.373]],["t/192",[141,2.91,152,3.601,235,2.005,272,3.103,277,3.422,358,3.412,536,1.468,599,2.448,645,2.187,873,3.422,997,2.723,1033,4.847,1289,3.422,1290,6.211,1291,5.497,1580,3.422,1592,3.422,1593,3.422,1595,3.422,1600,4.989,1601,4.989,1602,5.981,1603,4.989,1604,5.806,1605,4.443,1606,4.989,1607,4.989,1608,4.989,1609,4.989,1610,4.989,1611,4.083]],["t/194",[0,0.534,32,0.966,131,2.419,208,2.216,263,3.44,277,4.303,312,2.419,356,2.461,358,1.481,466,3.14,481,1.551,536,1.037,550,2.886,563,3.789,598,2.545,599,2.732,601,1.98,645,1.871,687,3.601,725,2.311,727,2.696,879,2.696,984,3.14,1097,2.696,1130,1.33,1132,3.536,1233,2.419,1235,1.181,1290,5.682,1291,4.297,1292,2.419,1599,2.545,1602,5.586,1604,4.015,1605,4.676,1612,3.526,1613,3.526,1614,3.526,1615,3.526,1616,3.526,1617,3.14,1618,3.14,1619,3.526,1620,3.526,1621,3.14,1622,3.526,1623,6.949,1624,3.526,1625,5.25,1626,5.25,1627,3.526,1628,3.526,1629,6.272,1630,3.526,1631,6.272,1632,5.25,1633,3.526]],["t/196",[0,0.653,14,2.42,32,2.165,36,1.702,128,3.123,168,2.696,175,3.619,436,3.881,446,4.206,481,2.824,555,4.633,654,4.403,964,2.965,1141,3.619,1557,3.881,1579,3.504,1634,4.633]],["t/198",[0,0.673,34,3.056,79,2.981,117,4.538,127,4.335,134,4,435,4.774,507,4.538,647,4.538,1239,5.058,1289,4.538,1617,5.891,1635,6.615,1636,5.414,1637,6.615,1638,6.615]],["t/200",[0,0.68,34,3.087,57,3.012,78,4.2,168,2.807,660,4.2,943,4.584,945,5.11,1009,4.379,1012,5.952,1230,5.11,1289,4.584,1639,6.683,1640,6.683,1641,6.683]],["t/202",[0,0.559,57,2.477,96,3.981,119,3.454,123,4.498,124,2.03,127,3.601,134,3.323,149,3.77,165,4.33,170,5.168,191,4.498,216,2.673,381,3.205,496,5.476,560,4.498,563,5.168,610,3.966,647,3.77,955,3.77,997,3,1394,5.476,1636,4.498,1642,5.495,1643,7.16,1644,5.495,1645,5.495,1646,5.495]],["t/206",[32,2.42,79,3.108,121,5.273,127,4.519,608,4.334,1647,6.896,1648,5.644,1649,6.896,1650,6.141,1651,6.141]],["t/208",[11,3.086,32,1.692,144,3.881,536,1.817,601,2.328,608,5.814,964,2.853,1105,5.291,1340,5.054,1648,7.212,1652,7.713,1653,5.499,1654,5.499]],["t/210",[4,3.936,11,2.868,32,1.572,142,4.825,216,2.791,321,3.47,432,3.347,536,1.688,601,2.164,608,5.706,964,2.651,1648,7.43,1653,5.11,1654,5.11,1655,5.738,1656,4.141,1657,5.738,1658,7.363,1659,5.11]],["t/212",[127,4.567,244,3.805,385,3.314,534,3.689,596,3.455,601,1.988,608,4.38,610,3.805,699,3.617,816,3.805,1187,5.329,1290,4.032,1434,4.315,1650,7.69,1660,8.304,1661,5.272,1662,5.272,1663,5.272,1664,4.695,1665,5.272,1666,5.272,1667,5.272,1668,5.272,1669,5.272,1670,6.968,1671,5.272,1672,5.272,1673,5.272,1674,5.272]],["t/214",[144,3.881,145,3.481,533,5.499,534,3.269,536,1.817,588,4.722,599,2.487,601,2.328,727,4.722,1105,4.236,1340,5.054,1651,6.869,1659,5.499,1675,6.174,1676,8.412,1677,6.174,1678,6.174,1679,7.713]],["t/216",[69,4.46,96,3.965,141,3.178,165,4.306,235,2.19,277,3.738,356,1.662,417,3.425,477,4.46,492,3.295,511,4.853,512,4.853,593,3.933,599,2.296,601,2.055,645,1.467,656,2.143,1130,2.055,1394,4.167,1680,5.449,1681,5.449,1682,5.449,1683,5.449,1684,7.121,1685,5.449,1686,5.449,1687,4.853,1688,5.449,1689,5.449,1690,4.853,1691,5.449,1692,5.449]],["t/218",[0,0.839,36,1.778,100,3.447,432,4.022,599,2.223,645,1.857,983,2.497,1130,2.6,1216,4.334,1285,5.644]],["t/220",[531,3.141,554,2.628,645,2.236,839,3.805,983,2.524,1130,2.628,1235,2.334,1236,3.391,1580,4.781,1581,4.567]],["t/222",[0,0.694,36,1.47,531,3.075,554,2.573,599,2.2,645,1.837,983,2.47,1130,2.573,1235,2.285,1582,4.681,1583,4.925,1584,4.681,1585,3.847]],["t/224",[0,0.878,18,3.293,32,2.041,36,1.605,481,2.57,531,2.633,536,2.191,554,2.203,599,2.644,601,2.203,656,2.297,964,2.699,1014,3.293,1132,4.199,1235,1.956,1236,3.623,1579,3.189,1586,4.007,1587,4.781]],["t/226",[0,0.819,27,2.601,36,1.425,353,2.547,358,2.779,384,3.729,536,1.946,554,2.494,645,2.167,1235,2.215,1588,4.774,1589,4.538,1590,5.414,1591,5.414]],["t/228",[0,0.856,27,2.143,32,1.493,36,1.534,154,3.571,358,3.332,481,2.398,536,2.095,554,2.055,599,2.296,645,1.467,656,2.143,964,2.517,1014,3.072,1132,4.015,1235,1.825,1236,3.464,1274,4.167,1585,4.472,1589,3.738,1592,4.885,1593,3.738,1594,4.46,1595,3.738]],["t/230",[176,3.808,235,2.435,358,3.503,384,3.416,492,3.664,531,2.731,601,2.285,645,2.246,656,2.383,964,2.799,983,2.194,1130,2.285,1164,3.416,1235,2.029,1281,4.156,1585,3.416,1586,4.156,1596,4.634,1597,4.96,1598,4.96,1599,4.373]],["t/232",[141,3.502,152,4.333,358,3.488,536,1.766,598,4.333,599,2.443,601,2.264,645,2.473,1286,5.346,1581,3.934,1592,4.118,1593,4.118,1595,4.118,1604,4.591,1611,4.914,1693,5.346,1694,5.346,1695,6.003]],["t/234",[0,0.653,14,2.42,32,2.165,36,1.702,128,3.123,168,2.696,175,3.619,436,3.881,446,4.206,481,2.824,555,4.633,654,4.403,964,2.965,1141,3.619,1557,3.881,1579,3.504,1634,4.633]],["t/236",[0,0.829,36,1.756,100,3.375,432,3.938,599,2.177,600,5.164,611,4.425,612,4.425,645,1.818,983,2.445,1130,2.546,1216,4.244]],["t/238",[554,2.6,611,4.519,612,4.519,645,2.222,839,3.765,983,2.497,1130,2.6,1235,2.309,1236,3.355,1580,4.73,1581,4.519]],["t/240",[0,0.687,36,1.455,554,2.546,599,2.177,611,4.425,612,4.425,645,1.818,983,2.445,1130,2.546,1235,2.261,1582,4.632,1583,4.873,1584,4.632,1585,3.807]],["t/242",[0,0.856,32,1.692,36,1.662,358,2.594,461,4.046,481,2.717,536,1.817,554,2.328,599,2.487,601,2.328,1014,3.481,1132,3.481,1235,2.583,1236,3.004,1579,3.371,1586,4.236,1656,4.456,1696,5.499]],["t/244",[41,2.658,358,2.779,601,3.035,608,5.452,611,4.335,612,4.335,615,4.335,1235,2.215,1656,4.774,1697,5.891,1698,5.891,1699,5.891,1700,5.891]],["t/246",[141,4.109,235,2.831,450,3.339,513,5.085,611,4.617,612,4.617,1217,5.767,1233,5.734,1701,6.275]],["t/248",[0,0.666,14,2.469,32,2.192,36,1.723,128,3.186,168,2.751,175,3.692,436,3.96,481,2.881,654,4.492,964,3.025,1141,3.692,1557,3.96,1579,3.575,1634,4.726]],["t/251",[0,0.717,36,1.695,73,3.368,208,3.368,401,4.773,449,4.387,478,4.773,536,2.459,541,4.832,581,3.512,600,4.098,601,2.021,742,3.021,743,4.098,752,3.868,856,3.126,857,3.868,917,4.832,934,4.773,964,2.476,1235,1.794,1539,4.098,1702,5.359,1703,7.044,1704,4.098,1705,5.359,1706,4.773,1707,5.359,1708,5.359,1709,5.359]],["t/253",[0,0.814,36,1.551,107,4.536,119,3.483,208,3.483,216,2.696,220,3.351,358,2.328,412,3.483,500,3.802,561,3.483,599,2.321,645,1.492,687,3.802,731,4.938,870,4.939,871,4.936,881,3.632,1034,4.936,1132,3.125,1235,1.856,1237,4.238,1539,4.238,1704,4.238,1710,5.542,1711,4.536,1712,4.936]],["t/255",[0,0.507,5,3.815,36,1.447,78,3.135,168,2.096,171,4.443,208,3.135,216,3.267,310,4.083,319,4.443,412,3.135,432,2.91,435,3.601,586,4.443,599,2.165,630,4.443,656,2.641,731,4.429,883,5.497,915,4.443,922,3.815,962,3.017,1026,4.443,1176,4.847,1542,4.443,1572,4.443,1713,6.716,1714,6.716,1715,7.592,1716,4.989,1717,4.989,1718,4.989,1719,4.989,1720,4.989,1721,4.989,1722,4.989]],["t/257",[536,1.946,599,2.133,687,4.538,860,4.335,914,3.858,917,5.521,962,4,1235,2.215,1569,5.414,1704,5.058,1711,5.414,1723,5.891,1724,6.615,1725,6.615,1726,5.891]],["t/259",[0,0.308,14,1.143,32,0.487,45,1.36,50,1.456,58,1.366,124,0.657,134,1.075,140,1.709,142,1.165,145,1.003,149,1.22,178,1.283,181,2.482,182,1.283,183,0.971,187,1.003,189,2.396,192,2.08,216,1.475,220,1.075,226,4.17,235,0.715,238,0.971,239,2.642,249,3.244,257,1.456,270,1.283,272,1.401,273,1.709,288,1.22,311,1.36,321,1.075,360,2.318,377,1.22,379,1.283,427,1.118,455,2.482,463,1.037,475,1.584,496,2.318,532,1.283,536,0.892,537,1.36,544,2.86,549,1.075,557,1.36,570,4.034,632,1.283,660,1.118,664,1.456,714,1.833,725,1.165,733,3.58,742,1.709,775,1.36,792,1.584,817,1.584,843,1.584,875,1.36,879,1.36,881,1.165,925,1.709,960,1.584,986,2.86,1109,1.283,1110,1.283,1157,1.584,1164,1.709,1177,1.283,1320,1.118,1341,1.22,1350,2.482,1356,2.482,1359,1.36,1420,1.584,1515,1.456,1516,1.584,1547,1.456,1574,1.584,1588,2.188,1727,1.778,1728,1.584,1729,3.032,1730,1.778,1731,1.778,1732,1.778,1733,1.584,1734,1.778,1735,1.778,1736,1.778,1737,4.17,1738,1.778,1739,1.778,1740,1.778,1741,3.963,1742,3.032,1743,1.778,1744,2.7,1745,1.778,1746,1.778,1747,1.778,1748,2.188,1749,1.778,1750,1.778,1751,1.778,1752,1.778,1753,3.963,1754,3.032,1755,4.058,1756,1.584,1757,1.778,1758,1.584,1759,1.778,1760,1.778,1761,1.778,1762,1.584,1763,1.778,1764,1.778,1765,1.778,1766,1.778,1767,1.778,1768,1.778,1769,1.778,1770,1.584,1771,1.778,1772,2.08,1773,1.36,1774,2.718,1775,1.165,1776,4.215,1777,1.22,1778,1.778,1779,1.778,1780,1.778,1781,4.17,1782,4.17,1783,1.584,1784,2.482,1785,1.778,1786,1.283,1787,1.778,1788,1.778,1789,1.778,1790,1.778,1791,1.778,1792,1.778,1793,1.778,1794,1.778,1795,1.778,1796,3.032,1797,2.318,1798,1.118,1799,1.118,1800,1.709,1801,1.584,1802,2.7,1803,1.778,1804,1.778,1805,1.778,1806,1.778,1807,1.778,1808,1.778,1809,1.778,1810,2.7,1811,1.987,1812,2.08,1813,1.778,1814,1.778,1815,1.778,1816,1.584,1817,1.778,1818,1.778,1819,1.778,1820,1.778,1821,1.778,1822,1.778,1823,1.584,1824,1.584,1825,1.778,1826,1.36]],["t/261",[2,1.197,28,0.886,47,3.026,48,0.692,73,1.378,87,0.804,88,2.037,105,1.953,124,0.81,125,0.842,140,1.675,145,0.692,178,0.886,189,2.185,192,1.504,216,2.748,220,0.742,225,2.956,227,0.613,235,0.493,236,0.886,238,0.67,239,1.373,252,1.582,261,1.373,312,0.842,318,1.947,321,0.742,339,0.938,356,2,379,0.886,381,0.716,383,1.953,391,0.742,405,1.004,427,0.771,440,1.795,450,1.968,456,2.038,457,1.093,460,1.677,472,1.093,481,0.54,541,0.842,543,0.742,551,2.919,557,0.938,570,3.486,615,0.804,624,1.953,632,1.582,653,1.004,656,0.862,686,0.804,689,3.041,707,0.938,714,1.797,716,1.093,746,0.938,753,0.886,772,1.004,840,1.093,881,1.437,884,1.004,925,1.236,929,1.004,930,1.093,937,1.093,948,0.938,949,1.004,982,0.938,986,0.886,997,0.67,1002,1.093,1009,1.437,1109,0.886,1110,0.886,1115,0.804,1153,1.093,1164,0.692,1168,1.004,1169,1.953,1193,1.093,1241,1.677,1292,0.842,1318,1.093,1341,0.842,1428,1.093,1450,0.938,1468,0.938,1503,0.938,1508,1.093,1525,1.004,1526,2.272,1541,1.004,1557,0.742,1621,1.093,1704,0.938,1726,1.093,1748,0.886,1755,0.742,1772,0.842,1776,1.437,1784,1.795,1786,0.886,1797,0.938,1799,0.771,1800,0.692,1812,3.668,1826,2.272,1827,2.958,1828,1.227,1829,3.859,1830,1.227,1831,1.227,1832,1.227,1833,2.192,1834,1.093,1835,2.971,1836,2.192,1837,2.192,1838,1.227,1839,2.432,1840,1.227,1841,1.227,1842,1.227,1843,1.227,1844,1.227,1845,1.004,1846,1.227,1847,2.192,1848,1.227,1849,1.227,1850,1.227,1851,1.227,1852,1.227,1853,2.971,1854,1.093,1855,1.227,1856,4.376,1857,1.227,1858,1.227,1859,1.004,1860,1.227,1861,1.227,1862,1.227,1863,2.646,1864,1.227,1865,1.093,1866,1.093,1867,1.227,1868,5.035,1869,1.227,1870,1.227,1871,1.227,1872,2.608,1873,3.218,1874,1.227,1875,1.227,1876,1.227,1877,1.227,1878,2.192,1879,1.227,1880,1.795,1881,0.716,1882,2.192,1883,1.227,1884,1.227,1885,1.227,1886,1.227,1887,1.227,1888,1.227,1889,0.938,1890,1.227,1891,1.227,1892,2.192,1893,2.646,1894,4.096,1895,1.227,1896,1.227,1897,1.227,1898,1.227,1899,1.227,1900,1.227,1901,1.227,1902,1.227,1903,1.227,1904,1.227,1905,1.953,1906,1.227,1907,1.227,1908,1.093,1909,3.218,1910,1.677,1911,1.004,1912,1.227,1913,1.227,1914,1.227,1915,1.227,1916,1.093,1917,1.953,1918,1.093,1919,1.227,1920,1.227,1921,1.227,1922,1.227,1923,1.227,1924,1.227,1925,1.227,1926,1.004,1927,1.227,1928,1.227,1929,1.093,1930,0.886,1931,1.227,1932,1.227,1933,1.227,1934,1.093,1935,1.227,1936,1.227,1937,1.227,1938,1.227,1939,2.971,1940,1.227,1941,2.192,1942,1.227,1943,0.938,1944,1.227,1945,1.004,1946,1.227,1947,2.192,1948,1.227,1949,1.227,1950,1.227,1951,1.227,1952,3.614,1953,1.227,1954,1.227,1955,1.795,1956,1.093,1957,1.004,1958,1.227,1959,1.004,1960,1.227,1961,1.227,1962,1.093,1963,1.227,1964,1.227,1965,1.227,1966,1.227,1967,1.227,1968,1.227,1969,1.227,1970,1.227,1971,1.227,1972,1.227,1973,1.093,1974,1.227]],["t/263",[1,2.633,11,1.919,27,0.928,47,1.427,48,1.33,80,1.619,87,1.547,88,1.33,117,3.328,189,1.427,225,1.18,318,3.662,356,1.48,390,3.142,424,1.805,427,1.483,450,1.118,570,1.148,633,1.805,686,1.547,689,1.973,707,1.805,733,1.805,801,2.102,891,1.932,925,1.33,997,2.095,1084,1.932,1115,2.515,1164,2.735,1292,2.633,1300,1.619,1306,1.932,1354,2.102,1492,1.932,1540,1.932,1573,2.102,1773,1.805,1777,1.619,1811,3.662,1812,2.633,1839,3.142,1859,1.932,1881,3.844,1889,1.805,1893,2.102,1929,2.102,1934,2.102,1943,2.935,1945,3.971,1975,2.36,1976,1.932,1977,4.977,1978,2.36,1979,2.36,1980,4.274,1981,4.574,1982,2.102,1983,2.36,1984,2.36,1985,2.36,1986,2.36,1987,2.102,1988,5.312,1989,2.36,1990,2.36,1991,2.36,1992,5.686,1993,3.71,1994,3.838,1995,4.574,1996,1.805,1997,2.36,1998,2.36,1999,2.102,2000,2.935,2001,1.703,2002,5.312,2003,2.935,2004,2.36,2005,1.805,2006,2.36,2007,2.36,2008,2.36,2009,3.838,2010,2.36,2011,4.438,2012,3.971,2013,2.36,2014,1.932,2015,2.102,2016,2.36,2017,2.36,2018,2.36,2019,2.36,2020,2.36,2021,2.36,2022,2.36,2023,3.142,2024,2.36,2025,2.36,2026,2.36,2027,3.838,2028,3.838,2029,4.851,2030,3.418,2031,3.142,2032,2.36,2033,1.932,2034,2.36,2035,2.102,2036,2.102,2037,1.932,2038,2.36,2039,2.36]],["t/265",[1,0.994,2,0.791,4,0.994,27,0.57,47,3.322,87,2.222,112,4.541,189,0.876,225,2.036,236,1.046,332,1.29,342,2.262,356,1.034,380,1.29,390,1.186,393,2.326,398,0.845,405,1.186,440,3.791,465,1.29,481,0.638,495,1.29,500,2.326,543,0.876,551,1.481,570,4.199,615,2.222,627,1.29,634,1.29,689,3.889,725,1.664,775,1.108,839,0.791,925,1.432,929,2.079,962,1.536,983,0.92,997,1.387,1024,2.939,1164,1.432,1177,1.046,1194,1.108,1255,0.994,1281,1.742,1300,0.994,1379,1.29,1468,1.108,1503,1.942,1509,6.736,1526,1.108,1540,1.186,1557,0.876,1618,1.29,1711,1.186,1770,1.29,1772,2.794,1773,3.899,1777,1.742,1786,1.046,1798,3.453,1799,2.131,1800,3.097,1802,2.262,1811,3.035,1812,0.994,1829,2.447,1839,1.186,1845,2.079,1854,1.29,1856,2.079,1868,1.186,1872,1.833,1880,1.186,1881,2.375,1894,1.186,1909,3.02,1910,5.475,1930,1.833,1943,1.108,1955,2.775,1962,3.02,1976,1.186,1980,1.942,1981,2.079,1988,1.108,1995,1.186,1996,1.108,2001,2.447,2002,3.114,2011,3.965,2014,1.186,2023,1.186,2030,3.02,2033,2.079,2036,1.29,2040,1.449,2041,1.449,2042,1.449,2043,1.108,2044,1.449,2045,1.449,2046,1.449,2047,2.54,2048,1.449,2049,2.54,2050,4.073,2051,1.449,2052,1.29,2053,1.449,2054,1.29,2055,3.39,2056,1.449,2057,1.29,2058,2.54,2059,3.02,2060,3.02,2061,1.449,2062,3.39,2063,4.073,2064,4.497,2065,1.449,2066,2.54,2067,2.54,2068,1.449,2069,3.39,2070,2.54,2071,1.449,2072,1.449,2073,1.449,2074,3.02,2075,1.449,2076,2.54,2077,2.54,2078,2.54,2079,3.02,2080,1.449,2081,1.29,2082,1.29,2083,1.449,2084,1.29,2085,1.449,2086,4.632,2087,1.449,2088,1.449,2089,1.29,2090,1.046,2091,1.449,2092,1.29,2093,1.449,2094,1.449]],["t/267",[0,0.395,27,1.528,87,2.546,88,2.19,104,2.971,142,2.546,183,2.121,221,2.804,239,3.363,261,1.795,276,2.665,393,2.665,421,2.971,463,2.266,507,2.665,537,2.971,549,2.349,570,4.047,588,2.971,689,3.975,1024,2.804,1084,3.18,1115,2.546,1596,2.971,1774,2.665,1775,5.066,1798,4.859,1800,3.178,1826,2.971,1845,3.18,1859,3.18,1881,2.266,1889,4.311,1910,4.311,1911,3.18,2001,2.804,2037,3.18,2079,3.459,2084,3.459,2090,2.804,2095,5.431,2096,3.884,2097,3.459,2098,3.884,2099,3.884,2100,4.552,2101,5.021,2102,3.18,2103,3.884,2104,3.884,2105,3.884,2106,3.884,2107,3.459,2108,3.884,2109,3.459,2110,3.884]],["t/269",[14,0.607,18,0.908,27,0.633,32,0.441,47,2.993,48,1.57,73,1.012,79,0.726,87,1.056,88,0.908,104,1.232,117,1.91,152,1.162,153,1.232,154,1.056,219,1.318,220,0.974,225,1.839,239,3.086,288,1.105,318,1.056,353,0.62,356,2.345,362,2.655,371,3.111,379,3.163,391,0.974,393,2.523,424,2.13,427,1.012,435,1.162,437,1.434,447,1.318,473,1.162,481,1.225,536,0.474,549,2.224,551,2.146,566,1.056,567,1.318,570,2.408,645,0.434,656,0.633,657,1.318,660,1.012,689,1.432,742,0.908,828,2.279,860,1.056,888,1.434,914,1.624,925,1.57,955,1.105,997,0.879,1024,1.162,1110,1.162,1164,2.074,1177,1.162,1189,2.48,1255,2.523,1300,1.91,1341,1.91,1450,2.813,1541,1.318,1579,0.879,1748,2.01,1755,0.974,1774,1.105,1775,3.244,1776,1.056,1777,1.105,1798,4.337,1799,2.312,1800,3.626,1811,1.825,1827,1.318,1829,1.162,1872,2.01,1873,1.434,1881,2.146,1889,2.13,1930,1.162,1945,1.318,1955,1.318,1956,1.434,1976,1.318,1977,1.434,1980,1.232,1981,1.318,1988,1.232,1992,2.279,1993,2.13,1995,1.318,1996,1.232,2000,4.143,2001,2.01,2002,1.232,2003,1.232,2005,2.813,2011,3.163,2015,1.434,2043,1.232,2054,1.434,2057,1.434,2074,2.48,2089,1.434,2095,2.279,2097,1.434,2100,2.523,2111,1.611,2112,1.434,2113,2.785,2114,1.611,2115,1.611,2116,1.611,2117,1.611,2118,3.276,2119,2.785,2120,3.678,2121,1.434,2122,1.611,2123,1.611,2124,1.611,2125,1.611,2126,1.611,2127,2.13,2128,1.611,2129,1.611,2130,5.783,2131,1.611,2132,2.785,2133,1.434,2134,3.902,2135,1.318,2136,1.611,2137,1.611,2138,1.611,2139,2.48,2140,1.611,2141,2.279,2142,1.611,2143,3.678,2144,1.611,2145,1.611,2146,1.611,2147,2.785,2148,1.611,2149,1.611,2150,2.785,2151,1.611,2152,1.611,2153,1.611,2154,1.611,2155,1.611,2156,1.434,2157,1.611,2158,1.611,2159,1.611,2160,1.611,2161,1.611,2162,1.611,2163,1.611,2164,1.611,2165,1.611,2166,1.611,2167,2.785,2168,1.611,2169,1.318,2170,1.611,2171,1.434,2172,2.48,2173,1.611,2174,1.611,2175,1.611,2176,1.611]],["t/271",[2,1.789,20,2.248,27,1.954,47,3.629,125,2.248,144,2.06,225,1.638,239,1.514,272,1.514,356,2.311,427,2.06,498,2.506,551,3.501,570,3.259,583,2.506,689,3.086,723,2.682,745,4.332,796,4.913,914,1.911,925,1.847,982,2.506,1024,3.586,1164,3.776,1194,2.506,1255,3.408,1798,4.21,1799,3.772,1800,4.059,1810,4.425,1811,2.147,1816,2.918,1826,2.506,1872,2.365,1880,2.682,1881,2.898,1926,2.682,1930,2.365,1980,3.8,1982,2.918,1987,2.918,1988,4.59,1992,2.682,1993,2.506,1996,2.506,2000,3.8,2003,2.506,2005,3.8,2043,2.506,2100,2.248,2130,5.122,2134,2.918,2135,2.682,2139,2.918,2141,2.682,2177,3.277,2178,3.277,2179,3.277,2180,2.918,2181,2.918,2182,3.277,2183,3.277,2184,3.277,2185,3.277,2186,3.277,2187,3.277,2188,3.277,2189,2.918,2190,3.277,2191,3.277,2192,3.277,2193,3.277,2194,3.277]],["t/273",[14,1.143,32,0.831,129,4.682,140,1.709,141,1.769,154,1.987,235,1.218,239,3.958,312,2.08,324,4.643,335,2.7,356,0.925,398,1.769,427,2.943,450,1.437,473,4.643,481,1.334,536,0.892,570,1.475,583,2.319,615,1.987,788,2.482,962,1.833,997,1.655,1234,4.374,1383,2.482,1755,1.833,1772,2.08,1775,4.556,1776,3.068,1797,4.919,1798,4.619,1799,4.619,1800,1.709,1801,2.7,1881,1.769,1908,2.7,1911,2.482,1959,2.482,1973,2.7,2001,2.188,2043,3.581,2059,2.7,2060,2.7,2100,5.427,2109,2.7,2112,4.17,2118,2.7,2121,2.7,2127,3.581,2130,2.319,2169,2.482,2195,4.17,2196,3.032,2197,6.822,2198,4.682,2199,2.7,2200,2.7,2201,4.682,2202,3.032,2203,3.032,2204,3.032,2205,3.032,2206,2.482,2207,4.682,2208,4.682,2209,3.032,2210,3.032,2211,3.032,2212,3.032,2213,3.032]],["t/275",[88,1.895,140,2.856,182,3.656,287,2.752,316,2.752,321,2.033,356,2.706,360,5.567,551,3.556,570,3.542,656,1.322,689,3.134,753,5.731,806,2.306,925,2.856,1115,3.32,1241,3.874,1292,3.475,1748,2.426,1755,3.686,1756,2.994,1758,4.511,1829,2.426,1856,2.752,1863,6.814,1905,4.511,1917,4.511,1918,4.511,2003,3.874,2035,5.429,2102,2.752,2172,4.511,2214,4.511,2215,3.362,2216,2.994,2217,3.362,2218,3.362,2219,3.362,2220,6.785,2221,5.066,2222,3.362,2223,3.362,2224,3.362,2225,3.362,2226,3.362,2227,5.066,2228,3.362,2229,3.362,2230,2.994,2231,3.362,2232,3.362,2233,3.362,2234,3.362,2235,3.362]],["t/277",[11,0.951,27,1.263,47,1.942,83,1.558,87,2.105,110,1.695,140,1.811,182,3.945,189,1.151,225,1.605,235,0.765,239,0.879,272,1.484,276,1.306,292,1.695,324,1.374,356,2.649,360,1.456,391,1.151,424,2.456,473,1.374,481,0.837,549,1.942,551,2.854,570,2.659,572,1.456,595,1.247,601,0.718,670,1.247,689,0.979,772,1.558,879,1.456,914,1.11,925,1.811,997,1.039,1064,1.695,1164,2.759,1234,1.456,1300,1.306,1341,1.306,1434,2.629,1755,2.959,1772,1.306,1774,1.306,1775,1.247,1777,1.306,1786,1.374,1797,1.456,1798,3.726,1799,3.726,1800,2.349,1811,1.247,1829,1.374,1865,4.868,1868,2.629,1872,2.318,1881,2.854,1894,4.474,1930,2.318,2005,4.18,2011,1.374,2012,2.629,2014,1.558,2031,1.558,2037,2.629,2082,3.71,2090,2.318,2100,4.895,2102,2.629,2127,2.456,2130,4.18,2135,1.558,2181,1.695,2189,2.86,2195,1.695,2199,1.695,2200,1.695,2206,1.558,2214,4.868,2230,4.868,2236,1.695,2237,1.903,2238,1.903,2239,1.903,2240,1.903,2241,3.212,2242,3.212,2243,3.212,2244,3.212,2245,4.166,2246,3.212,2247,4.166,2248,1.903,2249,1.903,2250,1.903,2251,1.903,2252,1.903,2253,1.903,2254,1.903,2255,3.212,2256,3.212,2257,1.903,2258,1.903,2259,1.903,2260,1.903,2261,1.903,2262,3.212,2263,1.903,2264,1.695,2265,1.558,2266,1.695,2267,1.903,2268,1.903,2269,1.903,2270,1.695,2271,1.903,2272,1.695,2273,1.903,2274,1.903,2275,4.166,2276,1.903,2277,1.903,2278,1.903,2279,1.903,2280,1.558,2281,1.903,2282,1.903,2283,1.903,2284,3.212,2285,1.903,2286,1.903,2287,1.903,2288,1.695,2289,1.903,2290,1.903]],["t/279",[14,0.979,27,2.034,32,0.711,47,1.57,80,1.781,107,2.125,220,1.57,225,1.298,239,1.915,252,1.873,261,1.199,272,1.915,288,1.781,313,2.125,331,2.312,356,2.419,469,1.985,473,1.873,536,0.764,543,2.506,570,3.14,572,1.985,573,1.701,689,1.335,733,1.985,821,2.125,881,2.716,891,2.125,914,1.514,1115,1.701,1255,1.781,1266,1.985,1300,1.781,1468,3.956,1492,2.125,1503,1.985,1526,1.985,1712,5.749,1723,2.312,1733,2.312,1774,2.843,1775,2.716,1776,1.701,1786,1.873,1799,1.631,1800,2.337,1811,3.87,1812,4.72,1827,2.125,1834,2.312,1866,2.312,1910,3.956,1957,2.125,1993,3.169,1999,2.312,2000,3.956,2002,1.985,2011,2.991,2023,2.125,2033,4.234,2052,2.312,2092,2.312,2100,1.781,2101,2.312,2141,2.125,2171,4.607,2197,2.312,2280,2.125,2288,2.312,2291,2.596,2292,2.312,2293,2.596,2294,2.596,2295,2.596,2296,2.596,2297,4.144,2298,2.596,2299,2.596,2300,2.596,2301,2.596,2302,2.596,2303,2.596,2304,2.596,2305,2.596,2306,2.596,2307,2.596,2308,2.596,2309,2.596,2310,2.596,2311,4.144,2312,2.596,2313,2.596,2314,2.596,2315,4.144,2316,2.312,2317,2.596,2318,5.173,2319,2.596,2320,2.596,2321,2.596,2322,2.596,2323,2.596,2324,2.596,2325,2.596,2326,4.144,2327,5.173,2328,2.596,2329,2.596,2330,2.596,2331,2.596,2332,2.596,2333,2.596,2334,2.596,2335,2.596]],["t/281",[0,0.412,2,2.213,14,1.529,45,3.1,134,2.452,183,2.213,189,3.516,235,1.629,239,2.686,339,3.1,455,3.319,463,2.365,496,3.1,508,3.319,523,3.611,536,1.711,544,2.926,546,3.611,548,3.611,551,2.365,557,3.1,570,2.828,597,2.781,660,2.548,728,3.319,948,3.1,955,2.781,997,2.213,1177,2.926,1234,3.1,1350,3.319,1359,3.1,1383,3.319,1515,3.319,1588,2.926,1706,3.611,1728,3.611,1737,5.178,1744,3.611,1755,3.516,1762,3.611,1774,3.988,1776,4.455,1777,4.663,1781,3.611,1782,3.611,1783,3.611,1784,3.319,1957,3.319,2127,3.1,2292,3.611,2336,4.054,2337,4.054,2338,4.054,2339,4.054,2340,4.054,2341,4.054,2342,4.054,2343,4.054,2344,4.054,2345,4.054,2346,4.054,2347,4.054,2348,4.054,2349,4.054,2350,4.054,2351,4.054]],["t/283",[145,3.264,570,2.816,633,4.427,1109,4.178,1755,3.501,1812,3.971,1823,5.156,1824,6.595,2169,4.739,2180,5.156,2352,5.789,2353,5.789,2354,5.789,2355,5.789,2356,5.789,2357,5.789,2358,5.156,2359,5.156,2360,5.156,2361,5.156,2362,5.789,2363,5.789,2364,5.789,2365,5.789,2366,5.789,2367,5.789,2368,5.789,2369,5.789,2370,5.789]],["t/285",[27,1.784,124,1.676,140,3.548,313,3.713,314,4.039,997,2.476,1115,2.972,1392,5.604,1403,6.436,1488,4.039,1748,3.274,1772,3.111,1773,3.469,1800,4.074,1881,3.671,1916,4.039,1943,3.469,1959,3.713,2012,3.713,2031,6.389,2064,5.151,2081,4.039,2090,3.274,2133,4.039,2206,3.713,2265,3.713,2272,6.951,2316,4.039,2371,4.536,2372,4.536,2373,4.536,2374,4.536,2375,4.536,2376,7.226,2377,4.536,2378,4.536,2379,4.536,2380,4.536,2381,6.293,2382,4.536,2383,4.536,2384,6.293,2385,4.536]],["t/287",[14,1.51,18,2.258,140,3.249,183,3.146,221,2.89,235,1.609,239,3.119,312,2.747,339,3.062,451,3.278,536,1.178,537,3.062,570,3.806,601,2.173,632,4.159,656,1.575,686,2.624,689,3.796,925,2.258,928,3.566,1176,2.89,1582,2.747,1755,2.421,1775,4.424,1776,4.424,1798,4.243,1800,4.411,1881,3.361,1926,3.278,2064,6.044,2090,2.89,2095,4.717,2107,3.566,2216,3.566,2264,3.566,2265,3.278,2266,3.566,2270,3.566,2280,3.278,2358,3.566,2359,3.566,2360,3.566,2361,3.566,2386,5.762,2387,4.004,2388,4.004,2389,4.004,2390,4.004,2391,5.762,2392,4.004]],["t/289",[0,0.839,36,1.778,100,3.447,432,4.022,599,2.223,645,1.857,983,2.497,1130,2.6,1216,4.334,1576,6.141]],["t/291",[531,3.141,554,2.628,645,2.236,839,3.805,983,2.524,1130,2.628,1235,2.334,1236,3.391,1580,4.781,1581,4.567]],["t/293",[0,0.694,36,1.47,531,3.075,554,2.573,599,2.2,645,1.837,983,2.47,1130,2.573,1235,2.285,1582,4.681,1583,4.925,1584,4.681,1585,3.847]],["t/295",[0,0.875,18,3.264,32,2.029,36,1.596,481,2.547,531,2.609,536,2.179,554,2.183,599,2.633,601,2.183,656,2.277,964,2.675,1014,4.175,1132,4.175,1235,1.938,1236,3.603,1579,3.161,1587,4.739,2393,4.739]],["t/297",[0,0.819,27,2.601,36,1.425,353,2.547,358,2.779,384,3.729,536,1.946,554,2.494,645,2.167,1235,2.215,1588,4.774,1589,4.538,1590,5.414,1591,5.414]],["t/299",[0,0.856,27,2.143,32,1.493,36,1.534,154,3.571,358,3.332,481,2.398,536,2.095,554,2.055,599,2.296,645,1.467,656,2.143,964,2.517,1014,3.072,1132,4.015,1235,1.825,1236,3.464,1274,4.167,1585,4.472,1589,3.738,1592,4.885,1593,3.738,1594,4.46,1595,3.738]],["t/301",[176,3.773,235,2.412,358,3.488,384,3.385,492,3.63,531,2.706,601,2.264,645,2.236,656,2.361,964,2.773,983,2.174,1014,3.385,1130,2.264,1164,3.385,1235,2.01,1281,4.118,1585,3.385,1596,4.591,1597,4.914,1598,4.914,1599,4.333,2393,4.914]],["t/303",[141,3.744,152,4.633,358,3.596,598,4.633,601,2.42,645,2.405,1581,4.206,1592,4.403,1593,4.403,1595,4.403,1604,4.908,1611,5.254,1693,5.716,1694,5.716]],["t/305",[0,0.653,14,2.42,32,2.165,36,1.702,128,3.123,168,2.696,175,3.619,436,3.881,446,4.206,481,2.824,555,4.633,654,4.403,964,2.965,1141,3.619,1557,3.881,1579,3.504,1634,4.633]],["t/307",[0,0.709,53,5.33,57,3.141,58,3.141,79,3.141,174,5.03,229,6.207,549,4.215,1577,5.03,2394,6.207,2395,6.207]],["t/309",[0,0.489,32,1.316,34,2.219,57,3.357,58,3.357,72,4.278,73,3.02,117,3.295,126,3.674,127,4.29,174,3.467,235,1.93,280,3.674,288,3.295,358,2.018,377,3.295,596,3.148,610,3.467,664,3.932,702,3.932,752,3.467,943,3.295,1176,3.467,1187,3.674,1577,5.375,1584,3.295,1599,3.467,1636,3.932,1664,4.278,1687,5.831,1690,4.278,2156,4.278,2393,3.932,2394,6.632,2395,4.278,2396,4.804,2397,4.804,2398,4.804,2399,4.804,2400,6.547,2401,4.804,2402,4.278]],["t/311",[58,3.141,165,4.215,174,5.03,554,2.628,649,6.207,1407,5.33,2402,6.207,2403,6.97,2404,6.97,2405,6.97,2406,6.97]],["t/313",[2,4.548,57,3.158,78,3.341,175,2.997,183,2.902,252,3.836,412,3.341,554,2.004,683,4.351,985,4.734,1306,4.351,1525,4.351,1577,6.013,2236,4.734,2407,5.315,2408,7.006,2409,5.315,2410,5.315,2411,5.315,2412,5.315,2413,7.006,2414,7.006,2415,7.006,2416,8.331,2417,5.315,2418,5.315]],["t/315",[0,0.605,48,3.354,75,4.549,78,3.739,79,2.681,236,4.293,272,2.748,284,5.297,415,5.297,513,5.438,514,5.297,515,4.293,656,2.339,660,3.739,1007,4.293,1016,5.297,1058,5.297,1097,4.549,1520,5.297,1577,4.293,2419,7.534,2420,5.948,2421,5.948,2422,5.948,2423,5.948]],["t/317",[0,0.834,36,1.767,54,3.725,55,3.725,100,3.411,432,3.98,599,2.2,645,1.837,983,2.47,1130,2.573,1216,4.289]],["t/319",[54,3.765,55,3.765,554,2.6,645,2.222,839,3.765,983,2.497,1130,2.6,1235,2.309,1236,3.355,1580,4.73,1581,4.519]],["t/321",[0,0.687,36,1.455,54,3.686,55,3.686,554,2.546,599,2.177,645,1.818,983,2.445,1130,2.546,1235,2.261,1582,4.632,1583,4.873,1584,4.632,1585,3.807]],["t/323",[0,0.856,32,1.692,36,1.662,358,2.594,461,4.046,481,2.717,536,1.817,554,2.328,599,2.487,601,2.328,1014,3.481,1132,3.481,1235,2.583,1236,3.004,1579,3.371,1586,4.236,1656,4.456,1696,5.499]],["t/325",[41,2.658,54,3.611,55,3.611,358,2.779,601,3.035,608,5.452,615,4.335,1235,2.215,1656,4.774,1697,5.891,1698,5.891,1699,5.891,1700,5.891]],["t/327",[54,3.846,55,3.846,141,4.109,235,2.831,450,3.339,513,5.085,1217,5.767,1233,5.734,1701,6.275]],["t/329",[0,0.653,14,2.42,32,2.165,36,1.702,128,3.123,168,2.696,175,3.619,436,3.881,446,4.206,481,2.824,555,4.633,654,4.403,964,2.965,1141,3.619,1557,3.881,1579,3.504,1634,4.633]]],"invertedIndex":[["",{"_index":356,"t":{"13":{"position":[[1001,1],[1129,1],[1147,1],[1234,1],[1267,1]]},"32":{"position":[[172,1]]},"36":{"position":[[987,1],[1066,1],[1088,1],[1154,1],[1167,1],[1215,1],[1262,1],[1320,1],[1404,1],[1474,1]]},"38":{"position":[[574,1],[664,1],[741,1],[781,1],[832,1],[853,1],[922,2],[937,1],[1002,2],[1016,1],[1081,2],[1100,1],[1147,1],[1217,1]]},"40":{"position":[[535,1],[616,1],[668,1],[715,1],[758,1],[779,1],[848,1],[888,1],[951,1],[972,1],[1062,1],[1112,1],[1166,1]]},"44":{"position":[[207,1],[230,1],[314,1],[389,1],[445,1],[535,1],[615,1],[643,1],[699,1],[768,1],[844,1],[898,1],[968,1]]},"62":{"position":[[154,1],[174,1],[257,1]]},"64":{"position":[[330,1],[352,1],[406,1],[419,1],[478,1],[524,1]]},"66":{"position":[[348,1],[422,1]]},"68":{"position":[[724,1],[788,1],[801,2],[804,2]]},"72":{"position":[[972,1],[998,1],[1101,1],[1158,1],[1259,1],[1355,1],[2107,1]]},"97":{"position":[[109,1],[129,1],[207,1],[241,1],[294,1]]},"103":{"position":[[386,1],[406,1],[484,1],[518,1],[571,1]]},"110":{"position":[[417,1],[488,1],[716,1],[754,1]]},"126":{"position":[[357,1],[390,1],[425,1],[612,1],[622,1],[653,1],[680,1],[810,1],[869,1],[978,1],[1003,1],[1074,1],[1110,1],[1182,1],[1210,2],[1394,1]]},"132":{"position":[[105,1],[133,1]]},"134":{"position":[[95,1],[619,1],[646,1],[665,1],[691,1],[709,1],[716,3],[1112,3],[1119,1],[1144,1],[1252,1],[1322,2],[1452,1],[1501,1],[1593,2],[1628,1],[1685,2]]},"143":{"position":[[470,1],[503,1],[538,1],[819,1],[849,1],[868,1],[894,1],[947,1],[1048,1],[1187,1],[1191,1],[1218,1],[1223,1],[1279,1],[1326,2],[1342,1],[1396,1],[1421,1],[1526,1],[1631,1],[1640,1],[1642,2],[1655,1],[1657,2],[1678,1],[1738,1],[1839,1],[1939,1],[2105,1],[2160,2],[2200,2],[2237,1],[2257,1],[2269,1],[2288,1],[2372,1],[2404,1],[2419,1],[2535,1],[2537,2],[2553,1],[2591,2],[2628,2],[2631,3],[2649,1],[2706,2],[2890,1],[2892,2]]},"146":{"position":[[72,1],[211,1],[328,1],[342,1],[403,1],[560,2],[572,3],[584,1]]},"153":{"position":[[87,1]]},"157":{"position":[[30,1]]},"162":{"position":[[349,1],[374,1]]},"164":{"position":[[39,1],[64,1]]},"166":{"position":[[39,1],[55,1],[99,1],[121,1],[176,1]]},"168":{"position":[[248,1],[276,1]]},"170":{"position":[[39,1],[55,1],[103,1],[129,1],[188,1]]},"172":{"position":[[654,1],[672,1],[835,1],[902,1],[984,1]]},"194":{"position":[[312,1],[367,1],[447,1],[579,1],[651,1],[700,1],[806,1]]},"216":{"position":[[285,1]]},"261":{"position":[[1667,1],[1677,2],[2030,1],[2314,2],[2335,1],[2364,1],[2689,1],[2691,2],[2718,4],[3053,1],[3101,1],[4457,1],[4584,1]]},"263":{"position":[[713,1],[1120,1],[1130,1]]},"265":{"position":[[633,1],[642,1],[1306,1]]},"269":{"position":[[1081,1],[1532,1],[1568,1],[1575,2],[1578,2],[1583,5],[1611,4],[2090,1],[2711,3],[2844,3],[2923,1],[2942,1],[2979,1],[2986,1],[2994,1],[3010,2]]},"271":{"position":[[894,1],[938,1],[949,2],[952,2],[957,5],[989,4]]},"273":{"position":[[623,1]]},"275":{"position":[[475,1],[508,1],[619,1],[652,1],[857,1],[878,2],[900,1],[986,1],[1005,1],[1007,2],[1029,1],[1190,1],[1214,1]]},"277":{"position":[[709,3],[740,3],[772,3],[1052,1],[1088,2],[1102,1],[1104,2],[1134,1],[1293,1],[1312,1],[1317,1],[1329,2],[1343,1],[1345,2],[1375,1],[1393,1],[1398,1],[1621,1],[1724,1],[2194,1],[2573,1],[2616,1],[2760,1],[2802,1]]},"279":{"position":[[491,1],[863,1],[877,1],[921,1],[923,1],[925,1],[940,1],[942,1],[944,1],[959,1]]}}}],["0",{"_index":686,"t":{"36":{"position":[[1108,2]]},"64":{"position":[[372,2]]},"66":{"position":[[172,1]]},"134":{"position":[[1325,2]]},"261":{"position":[[3333,1]]},"263":{"position":[[920,1]]},"287":{"position":[[623,1]]}}}],["0.0",{"_index":890,"t":{"66":{"position":[[183,3]]}}}],["0.75",{"_index":1313,"t":{"134":{"position":[[693,5]]}}}],["0.95",{"_index":963,"t":{"72":{"position":[[811,5],[1338,4]]}}}],["0}^k",{"_index":2019,"t":{"263":{"position":[[1132,4]]}}}],["1",{"_index":925,"t":{"68":{"position":[[807,2]]},"134":{"position":[[92,2],[105,3],[118,1]]},"259":{"position":[[1370,2],[2472,2]]},"261":{"position":[[3157,2],[3273,1]]},"263":{"position":[[733,2]]},"265":{"position":[[1928,1],[3392,1]]},"269":{"position":[[586,2],[1068,1]]},"271":{"position":[[940,1]]},"275":{"position":[[510,2],[655,1]]},"277":{"position":[[1606,2],[2276,1]]},"287":{"position":[[628,2]]}}}],["1.0",{"_index":891,"t":{"66":{"position":[[187,3]]},"263":{"position":[[1633,3]]},"279":{"position":[[1279,3]]}}}],["1.25\\%δ/4=1.25",{"_index":2269,"t":{"277":{"position":[[1726,16]]}}}],["1.96",{"_index":2317,"t":{"279":{"position":[[883,4]]}}}],["1/2",{"_index":2284,"t":{"277":{"position":[[2575,5],[2762,5]]}}}],["1/n",{"_index":1932,"t":{"261":{"position":[[3460,4]]}}}],["10",{"_index":263,"t":{"11":{"position":[[1897,2]]},"17":{"position":[[228,2]]},"36":{"position":[[1416,2]]},"78":{"position":[[180,4]]},"166":{"position":[[69,2]]},"170":{"position":[[69,2]]},"194":{"position":[[576,2],[803,2]]}}}],["100",{"_index":1468,"t":{"143":{"position":[[2271,3]]},"261":{"position":[[4459,5]]},"265":{"position":[[392,3]]},"279":{"position":[[1290,4],[1465,5],[1553,4]]}}}],["100(1",{"_index":2135,"t":{"269":{"position":[[1441,5]]},"271":{"position":[[801,5]]},"277":{"position":[[851,5]]}}}],["100*(1",{"_index":2164,"t":{"269":{"position":[[2725,6]]}}}],["100×\\times×(1",{"_index":2198,"t":{"273":{"position":[[295,13],[448,13]]}}}],["1024",{"_index":1251,"t":{"126":{"position":[[614,4]]}}}],["17",{"_index":1443,"t":{"143":{"position":[[1220,2]]}}}],["18.04",{"_index":1605,"t":{"192":{"position":[[167,5]]},"194":{"position":[[7,5],[218,5]]}}}],["1[condition",{"_index":1923,"t":{"261":{"position":[[3204,15]]}}}],["1[h(xi)=yi],\\text{acc}^+(h",{"_index":2226,"t":{"275":{"position":[[829,27]]}}}],["1[h(xi)=yi].\\text{acc",{"_index":2229,"t":{"275":{"position":[[958,23]]}}}],["1e",{"_index":2168,"t":{"269":{"position":[[2925,2]]}}}],["1st",{"_index":1550,"t":{"166":{"position":[[135,3]]},"170":{"position":[[143,3]]}}}],["2",{"_index":1956,"t":{"261":{"position":[[4128,2]]},"269":{"position":[[2996,1]]}}}],["2.5",{"_index":2204,"t":{"273":{"position":[[625,4]]}}}],["20",{"_index":2093,"t":{"265":{"position":[[3397,2]]}}}],["2005",{"_index":1824,"t":{"259":{"position":[[2961,4]]},"283":{"position":[[11,5],[116,6]]}}}],["2010",{"_index":2361,"t":{"283":{"position":[[151,5]]},"287":{"position":[[774,4]]}}}],["20th",{"_index":2364,"t":{"283":{"position":[[230,4]]}}}],["24",{"_index":2370,"t":{"283":{"position":[[289,3]]}}}],["24.8",{"_index":2076,"t":{"265":{"position":[[2212,5],[2486,5]]}}}],["24/27",{"_index":1968,"t":{"261":{"position":[[4578,5]]}}}],["255",{"_index":889,"t":{"66":{"position":[[174,3]]}}}],["273–306",{"_index":2357,"t":{"283":{"position":[[123,8]]}}}],["3",{"_index":1618,"t":{"194":{"position":[[197,1]]},"265":{"position":[[1320,2]]}}}],["3)).astype(np.uint8",{"_index":905,"t":{"66":{"position":[[401,20]]}}}],["3.10",{"_index":1614,"t":{"194":{"position":[[105,5]]}}}],["3.6",{"_index":1612,"t":{"194":{"position":[[31,3]]}}}],["3.8",{"_index":1130,"t":{"103":{"position":[[53,3]]},"122":{"position":[[28,3]]},"124":{"position":[[23,3]]},"130":{"position":[[28,3]]},"132":{"position":[[23,3]]},"139":{"position":[[28,3]]},"141":{"position":[[23,3]]},"178":{"position":[[99,3]]},"180":{"position":[[68,3]]},"182":{"position":[[25,3]]},"190":{"position":[[124,5]]},"194":{"position":[[234,4]]},"216":{"position":[[27,5]]},"218":{"position":[[99,3]]},"220":{"position":[[68,3]]},"222":{"position":[[25,3]]},"230":{"position":[[124,5]]},"236":{"position":[[115,3]]},"238":{"position":[[75,3]]},"240":{"position":[[25,3]]},"289":{"position":[[101,3]]},"291":{"position":[[68,3]]},"293":{"position":[[25,3]]},"301":{"position":[[130,5]]},"317":{"position":[[106,3]]},"319":{"position":[[74,3]]},"321":{"position":[[25,3]]}}}],["3.8.5",{"_index":1597,"t":{"190":{"position":[[147,7]]},"230":{"position":[[147,7]]},"301":{"position":[[153,7]]}}}],["3.9.0",{"_index":1598,"t":{"190":{"position":[[158,9]]},"230":{"position":[[158,9]]},"301":{"position":[[164,9]]}}}],["3121",{"_index":2369,"t":{"283":{"position":[[284,4]]}}}],["32",{"_index":1655,"t":{"210":{"position":[[0,2]]}}}],["3pm",{"_index":1474,"t":{"143":{"position":[[2411,3]]}}}],["4",{"_index":2070,"t":{"265":{"position":[[1933,1],[2387,2]]}}}],["400",{"_index":777,"t":{"44":{"position":[[645,3]]}}}],["401",{"_index":781,"t":{"44":{"position":[[701,3]]}}}],["403",{"_index":785,"t":{"44":{"position":[[770,3]]}}}],["404",{"_index":791,"t":{"44":{"position":[[846,3]]}}}],["429",{"_index":795,"t":{"44":{"position":[[900,3]]}}}],["4=1.25%\\delta/4",{"_index":2268,"t":{"277":{"position":[[1706,17]]}}}],["4\\delta/4δ/4",{"_index":2262,"t":{"277":{"position":[[1509,14],[1849,15]]}}}],["4⋅(δ/4)=δ4\\cdot(\\delta/4",{"_index":2278,"t":{"277":{"position":[[2168,25]]}}}],["5",{"_index":393,"t":{"13":{"position":[[1945,1]]},"166":{"position":[[147,1]]},"170":{"position":[[155,1]]},"265":{"position":[[2866,2],[3114,2],[3213,2]]},"267":{"position":[[137,2]]},"269":{"position":[[457,2],[1049,2],[2092,3]]}}}],["500",{"_index":798,"t":{"44":{"position":[[970,3]]}}}],["54",{"_index":2062,"t":{"265":{"position":[[1419,3],[1536,3],[1635,3]]}}}],["587",{"_index":1430,"t":{"143":{"position":[[982,4]]}}}],["5pm",{"_index":1444,"t":{"143":{"position":[[1230,3]]}}}],["6",{"_index":2169,"t":{"269":{"position":[[2928,2]]},"273":{"position":[[1078,2]]},"283":{"position":[[114,1]]}}}],["60",{"_index":966,"t":{"72":{"position":[[855,2],[1289,2]]},"134":{"position":[[711,4]]},"143":{"position":[[1633,2]]}}}],["7",{"_index":2289,"t":{"277":{"position":[[2986,2]]}}}],["75",{"_index":241,"t":{"11":{"position":[[1264,4],[1646,3]]}}}],["8",{"_index":2382,"t":{"285":{"position":[[520,2]]}}}],["80",{"_index":1509,"t":{"151":{"position":[[117,3]]},"265":{"position":[[457,2],[644,4],[762,4],[1020,4],[1308,4],[1465,3],[1582,3],[1620,4],[1680,3],[2024,4],[2146,3],[2281,3],[2534,3],[2828,3],[3024,4],[3258,3],[3371,3]]}}}],["80.0",{"_index":2061,"t":{"265":{"position":[[1387,6]]}}}],["80/100",{"_index":2047,"t":{"265":{"position":[[635,6],[1299,6]]}}}],["800",{"_index":904,"t":{"66":{"position":[[396,4]]}}}],["800x600",{"_index":897,"t":{"66":{"position":[[291,7]]}}}],["83",{"_index":2069,"t":{"265":{"position":[[1902,4],[2186,4],[2375,4]]}}}],["83.0",{"_index":2080,"t":{"265":{"position":[[2454,6]]}}}],["86.3",{"_index":2086,"t":{"265":{"position":[[2795,6],[3100,6],[3181,6],[3315,5],[3459,5]]}}}],["89",{"_index":1969,"t":{"261":{"position":[[4586,4]]}}}],["9",{"_index":1440,"t":{"143":{"position":[[1189,1]]}}}],["9/9",{"_index":1966,"t":{"261":{"position":[[4453,3]]}}}],["95",{"_index":1775,"t":{"259":{"position":[[1466,3]]},"267":{"position":[[248,3],[356,3],[539,3],[732,3],[854,3]]},"269":{"position":[[533,3],[716,3],[818,4],[1083,3],[1934,3]]},"273":{"position":[[515,3],[679,3],[755,3],[839,3],[1022,3]]},"277":{"position":[[1623,4]]},"279":{"position":[[825,7],[916,4]]},"287":{"position":[[101,3],[154,3],[300,3]]}}}],["97.5",{"_index":2202,"t":{"273":{"position":[[559,5]]}}}],["99",{"_index":2120,"t":{"269":{"position":[[642,3],[672,3],[774,3]]}}}],["9am",{"_index":1441,"t":{"143":{"position":[[1198,3]]}}}],["_",{"_index":690,"t":{"36":{"position":[[1145,2]]},"64":{"position":[[397,2]]}}}],["__init__(self",{"_index":363,"t":{"13":{"position":[[1102,15]]}}}],["__main__",{"_index":1337,"t":{"134":{"position":[[1688,11]]}}}],["__name__",{"_index":1336,"t":{"134":{"position":[[1676,8]]}}}],["a1,a2,…,ana_1",{"_index":2372,"t":{"285":{"position":[[68,14]]}}}],["a_2",{"_index":2373,"t":{"285":{"position":[[83,4]]}}}],["a_i",{"_index":2379,"t":{"285":{"position":[[281,3]]}}}],["a_na1​,a2​,…,an",{"_index":2375,"t":{"285":{"position":[[96,17]]}}}],["abandoned",{"_index":77,"t":{"7":{"position":[[135,9]]},"13":{"position":[[2453,9]]}}}],["ability",{"_index":307,"t":{"13":{"position":[[21,7]]}}}],["above",{"_index":1341,"t":{"134":{"position":[[1799,5]]},"168":{"position":[[176,5]]},"259":{"position":[[2475,7]]},"261":{"position":[[3361,5]]},"269":{"position":[[1020,5],[1916,5]]},"277":{"position":[[9,5]]}}}],["acc+(h",{"_index":2249,"t":{"277":{"position":[[813,8]]}}}],["acc+(h)=e(x,y)∼d",{"_index":2225,"t":{"275":{"position":[[811,17]]}}}],["acc+(h)=e(x,y)∼d+​1[h(xi​)=yi​],acc−(h)=e(x,y)∼d",{"_index":2228,"t":{"275":{"position":[[906,51]]}}}],["acc+(h)=p​(n+,k+,δ/4)acc−‾(h)=p‾(n−,k−,δ/4",{"_index":2258,"t":{"277":{"position":[[1195,43]]}}}],["acc+‾(h",{"_index":2242,"t":{"277":{"position":[[641,9],[651,9]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4",{"_index":2253,"t":{"277":{"position":[[975,22]]}}}],["acc+‾(h)=p‾(n+,k+,δ/4)\\underline{\\text{acc}^+}(h",{"_index":2254,"t":{"277":{"position":[[1002,49]]}}}],["acc^s(h)=1n∑i=1n1",{"_index":1912,"t":{"261":{"position":[[2995,18]]}}}],["acc^s(h)\\widehat{\\text{acc}}_s(h)accs​(h",{"_index":2046,"t":{"265":{"position":[[591,41]]}}}],["accbal(h)=acc+(h)+acc−(h)2.\\text{acc}_\\text{bal}(h",{"_index":2232,"t":{"275":{"position":[[1138,51]]}}}],["accbal(h)\\text{acc}_\\text{bal}(h)accbal​(h",{"_index":2252,"t":{"277":{"position":[[898,44]]}}}],["accbal‾(h)=(1/2)(acc+‾(h)+acc−‾(h))\\underline{\\text{acc}_\\text{bal}}(h",{"_index":2283,"t":{"277":{"position":[[2501,71]]}}}],["accd(h)=pr⁡(x,y)∼d",{"_index":1883,"t":{"261":{"position":[[2287,19]]}}}],["accd(h)\\text{acc}_d(h)accd​(h",{"_index":2044,"t":{"265":{"position":[[519,31]]}}}],["accd​(h)=(x,y)∼dpr​[h(x)=y",{"_index":1888,"t":{"261":{"position":[[2370,30]]}}}],["accept",{"_index":859,"t":{"62":{"position":[[24,6]]},"66":{"position":[[24,6]]}}}],["acceptable",{"_index":671,"t":{"36":{"position":[[517,10]]}}}],["accepts",{"_index":853,"t":{"60":{"position":[[18,7]]}}}],["access",{"_index":596,"t":{"28":{"position":[[20,6]]},"44":{"position":[[90,6],[288,6]]},"103":{"position":[[246,6]]},"108":{"position":[[511,6]]},"139":{"position":[[113,6]]},"212":{"position":[[129,6]]},"309":{"position":[[382,6]]}}}],["accessed",{"_index":345,"t":{"13":{"position":[[816,8]]}}}],["accessible",{"_index":1056,"t":{"86":{"position":[[309,10]]}}}],["accessing",{"_index":1208,"t":{"118":{"position":[[239,9]]}}}],["accidentally",{"_index":1174,"t":{"110":{"position":[[216,12]]}}}],["according",{"_index":1517,"t":{"153":{"position":[[51,9]]}}}],["account",{"_index":595,"t":{"28":{"position":[[8,7]]},"106":{"position":[[177,8]]},"108":{"position":[[249,8]]},"114":{"position":[[27,7]]},"118":{"position":[[266,8]]},"139":{"position":[[95,7]]},"277":{"position":[[1527,7]]}}}],["account/api",{"_index":1185,"t":{"112":{"position":[[106,11]]}}}],["accs​(h)=n1​i=1∑n​1[h(xi​)=yi",{"_index":1919,"t":{"261":{"position":[[3107,36]]}}}],["accumulate",{"_index":67,"t":{"3":{"position":[[888,10]]},"5":{"position":[[861,10]]}}}],["accuracies",{"_index":2102,"t":{"267":{"position":[[525,10]]},"275":{"position":[[728,10]]},"277":{"position":[[530,10],[2489,11]]}}}],["accuracy",{"_index":570,"t":{"26":{"position":[[419,8]]},"72":{"position":[[79,9],[159,8],[1497,8],[1557,9]]},"259":{"position":[[157,9],[352,8],[686,8],[742,9],[761,8],[904,8],[945,8],[995,8],[1217,8],[1326,8],[1386,8],[1423,8],[1446,8],[1546,8],[1907,8],[2078,9],[2263,9],[2355,8],[2443,8],[3063,8]]},"261":{"position":[[60,9],[161,9],[213,8],[603,8],[680,8],[823,9],[837,8],[909,9],[1235,8],[2165,8],[2202,8],[2410,8],[2945,8],[3544,8],[4136,8],[4408,8],[4549,8]]},"263":{"position":[[65,8]]},"265":{"position":[[272,8],[509,9],[581,9],[750,8],[943,9],[998,8],[1096,8],[1281,8],[1378,8],[1453,8],[1570,8],[1608,8],[1870,8],[1968,8],[2012,8],[2134,8],[2173,8],[2295,8],[2363,8],[2445,8],[2522,8],[2638,8],[2717,9],[2764,8],[2816,8],[3012,8],[3088,8],[3172,8],[3246,8],[3301,8],[3359,8],[3447,8]]},"267":{"position":[[68,8],[114,8],[209,9],[288,9],[360,8],[782,8],[845,8]]},"269":{"position":[[200,9],[762,8],[1415,9],[1687,8],[2772,8]]},"271":{"position":[[101,9],[473,9],[530,8],[775,9]]},"273":{"position":[[1243,9]]},"275":{"position":[[25,8],[77,8],[130,8],[221,10],[1088,8]]},"277":{"position":[[66,8],[629,8],[2393,8],[2969,9],[3002,8]]},"279":{"position":[[114,8],[467,9],[1305,10],[1453,8],[1558,8]]},"281":{"position":[[213,8],[442,9]]},"283":{"position":[[170,8]]},"287":{"position":[[184,8],[250,8],[466,8],[577,8],[836,9]]}}}],["accurate",{"_index":331,"t":{"13":{"position":[[517,8]]},"279":{"position":[[1715,8]]}}}],["acc−(h",{"_index":2251,"t":{"277":{"position":[[832,8]]}}}],["acc−(h)=e(x,y)∼d−​1[h(xi​)=yi",{"_index":2231,"t":{"275":{"position":[[1035,34]]}}}],["acc−(h)=p​(n−,k−,δ/4",{"_index":2261,"t":{"277":{"position":[[1436,21]]}}}],["acc−​(h",{"_index":2250,"t":{"277":{"position":[[822,9]]}}}],["acc−‾(h",{"_index":2243,"t":{"277":{"position":[[661,9],[671,9]]}}}],["acc−‾(h)=p‾(n−,k−,δ/4)\\underline{\\text{acc",{"_index":2259,"t":{"277":{"position":[[1243,44]]}}}],["achieved",{"_index":62,"t":{"3":{"position":[[789,8]]},"5":{"position":[[762,8]]}}}],["act",{"_index":1984,"t":{"263":{"position":[[253,3]]}}}],["action",{"_index":653,"t":{"34":{"position":[[415,6]]},"38":{"position":[[252,6],[860,6]]},"261":{"position":[[1756,6]]}}}],["actively",{"_index":130,"t":{"9":{"position":[[299,8]]}}}],["actual",{"_index":2085,"t":{"265":{"position":[[2705,6]]}}}],["actually",{"_index":405,"t":{"13":{"position":[[2536,8]]},"261":{"position":[[375,8]]},"265":{"position":[[1118,8]]}}}],["add",{"_index":17,"t":{"3":{"position":[[219,3]]},"5":{"position":[[192,3]]},"15":{"position":[[661,3],[773,3]]},"134":{"position":[[294,3]]},"172":{"position":[[401,3]]}}}],["adding",{"_index":466,"t":{"17":{"position":[[62,6]]},"194":{"position":[[281,6]]}}}],["addition",{"_index":159,"t":{"9":{"position":[[950,8]]},"56":{"position":[[3,8]]}}}],["additionally",{"_index":1091,"t":{"92":{"position":[[208,13]]}}}],["addressing",{"_index":1396,"t":{"137":{"position":[[1501,10]]}}}],["adds",{"_index":289,"t":{"11":{"position":[[2610,4]]}}}],["adequate",{"_index":1739,"t":{"259":{"position":[[384,8]]}}}],["adjusted",{"_index":2200,"t":{"273":{"position":[[419,8]]},"277":{"position":[[1485,8]]}}}],["advanced",{"_index":120,"t":{"9":{"position":[[48,8]]}}}],["affordable",{"_index":1021,"t":{"78":{"position":[[215,10]]}}}],["ag",{"_index":1662,"t":{"212":{"position":[[49,2]]}}}],["again",{"_index":1194,"t":{"114":{"position":[[290,6]]},"126":{"position":[[1431,5]]},"265":{"position":[[3029,6]]},"271":{"position":[[614,6]]}}}],["against",{"_index":569,"t":{"26":{"position":[[411,7]]},"72":{"position":[[71,7],[1506,7]]},"172":{"position":[[58,7]]}}}],["aggregating",{"_index":1452,"t":{"143":{"position":[[1587,11]]}}}],["ago",{"_index":912,"t":{"68":{"position":[[181,3]]}}}],["ahead",{"_index":1616,"t":{"194":{"position":[[156,6]]}}}],["ai",{"_index":1017,"t":{"78":{"position":[[106,2],[226,2]]},"101":{"position":[[69,2]]}}}],["aia_iai",{"_index":2384,"t":{"285":{"position":[[576,8],[627,8]]}}}],["aim",{"_index":2344,"t":{"281":{"position":[[608,3]]}}}],["al",{"_index":2360,"t":{"283":{"position":[[146,4]]},"287":{"position":[[769,4]]}}}],["alert",{"_index":1322,"t":{"134":{"position":[[1085,5],[1617,10]]}}}],["alerting",{"_index":116,"t":{"7":{"position":[[821,8]]}}}],["alerts",{"_index":97,"t":{"7":{"position":[[426,6]]},"13":{"position":[[486,6]]}}}],["algorithm",{"_index":1721,"t":{"255":{"position":[[315,11]]}}}],["allocation",{"_index":1364,"t":{"137":{"position":[[534,10],[651,10]]}}}],["allow",{"_index":1664,"t":{"212":{"position":[[97,5]]},"309":{"position":[[363,5]]}}}],["allowed",{"_index":787,"t":{"44":{"position":[[804,7]]}}}],["allowing",{"_index":193,"t":{"11":{"position":[[214,8]]},"92":{"position":[[327,8]]}}}],["allows",{"_index":149,"t":{"9":{"position":[[783,6]]},"11":{"position":[[327,6]]},"28":{"position":[[104,6]]},"78":{"position":[[76,6]]},"202":{"position":[[271,6]]},"259":{"position":[[244,6]]}}}],["along",{"_index":1126,"t":{"101":{"position":[[94,5]]},"116":{"position":[[67,5]]}}}],["already",{"_index":1539,"t":{"162":{"position":[[114,7]]},"172":{"position":[[451,7]]},"251":{"position":[[175,7]]},"253":{"position":[[342,7]]}}}],["alternatively",{"_index":1179,"t":{"110":{"position":[[526,14]]}}}],["alternatives",{"_index":1626,"t":{"194":{"position":[[509,12],[745,12]]}}}],["always",{"_index":733,"t":{"40":{"position":[[791,6]]},"259":{"position":[[1182,6],[1196,6],[1270,6],[1595,6]]},"263":{"position":[[1747,6]]},"279":{"position":[[90,6]]}}}],["ambiguous",{"_index":1494,"t":{"146":{"position":[[144,9]]},"155":{"position":[[26,10]]}}}],["amount",{"_index":1802,"t":{"259":{"position":[[2296,6],[2647,6]]},"265":{"position":[[1174,6],[2929,6]]}}}],["ample",{"_index":1779,"t":{"259":{"position":[[1610,5]]}}}],["analogy",{"_index":1983,"t":{"263":{"position":[[240,8]]}}}],["analysis",{"_index":539,"t":{"22":{"position":[[274,9]]},"72":{"position":[[299,8],[1961,9]]},"99":{"position":[[275,8]]},"126":{"position":[[1564,9]]},"143":{"position":[[3025,9]]}}}],["analytics",{"_index":1348,"t":{"137":{"position":[[69,9],[471,9],[1706,9]]}}}],["analyzed",{"_index":1108,"t":{"99":{"position":[[22,8]]}}}],["analyzing",{"_index":1011,"t":{"76":{"position":[[122,9]]},"137":{"position":[[564,9]]}}}],["another",{"_index":702,"t":{"38":{"position":[[147,7]]},"172":{"position":[[561,7]]},"309":{"position":[[522,7]]}}}],["answer",{"_index":238,"t":{"11":{"position":[[1217,6]]},"36":{"position":[[295,6]]},"72":{"position":[[120,6],[1425,6]]},"97":{"position":[[355,6]]},"99":{"position":[[166,7]]},"103":{"position":[[632,6]]},"126":{"position":[[1175,6],[1203,6]]},"134":{"position":[[1098,6]]},"143":{"position":[[2098,6]]},"146":{"position":[[84,6],[464,6]]},"259":{"position":[[1165,6]]},"261":{"position":[[1693,6]]}}}],["answered",{"_index":626,"t":{"30":{"position":[[587,8]]},"149":{"position":[[35,8]]}}}],["answering",{"_index":1735,"t":{"259":{"position":[[315,9]]}}}],["answers",{"_index":257,"t":{"11":{"position":[[1781,7]]},"30":{"position":[[532,7]]},"259":{"position":[[1699,7]]}}}],["anybody",{"_index":1155,"t":{"108":{"position":[[168,7]]}}}],["anywhere",{"_index":1642,"t":{"202":{"position":[[62,8]]}}}],["api",{"_index":168,"t":{"9":{"position":[[1204,3]]},"15":{"position":[[40,3],[445,3]]},"42":{"position":[[92,3]]},"44":{"position":[[36,3],[946,3]]},"103":{"position":[[164,3],[257,4]]},"106":{"position":[[30,4],[78,4],[186,3]]},"108":{"position":[[17,3],[145,3],[186,3],[300,3],[318,3],[414,3],[521,3],[540,3]]},"110":{"position":[[49,3],[137,3],[315,3],[429,3],[558,3]]},"112":{"position":[[20,3]]},"114":{"position":[[55,3],[94,3],[339,3]]},"116":{"position":[[7,3]]},"118":{"position":[[155,3]]},"126":{"position":[[57,3],[1556,3]]},"134":{"position":[[426,3]]},"143":{"position":[[57,3],[3017,3]]},"196":{"position":[[122,3]]},"200":{"position":[[88,3]]},"234":{"position":[[122,3]]},"248":{"position":[[122,3]]},"255":{"position":[[335,3]]},"305":{"position":[[122,3]]},"329":{"position":[[122,3]]}}}],["api_2gdxmflhj",{"_index":1142,"t":{"106":{"position":[[207,16]]}}}],["apiexception",{"_index":748,"t":{"44":{"position":[[68,13],[178,13],[370,12]]},"48":{"position":[[73,13]]}}}],["app",{"_index":156,"t":{"9":{"position":[[910,3],[1009,3]]},"13":{"position":[[2498,3]]}}}],["appear",{"_index":627,"t":{"30":{"position":[[626,6]]},"265":{"position":[[1710,6]]}}}],["appearing",{"_index":1965,"t":{"261":{"position":[[4437,9]]}}}],["appendices",{"_index":2351,"t":{"281":{"position":[[855,10]]}}}],["appendix",{"_index":2273,"t":{"277":{"position":[[1884,8]]}}}],["application",{"_index":41,"t":{"3":{"position":[[516,11]]},"5":{"position":[[489,11]]},"7":{"position":[[4,11],[195,11]]},"9":{"position":[[69,11]]},"11":{"position":[[153,11],[338,11],[510,11],[646,11],[2454,11],[3132,11]]},"13":{"position":[[108,11],[287,11],[1324,11],[1553,11],[2018,11],[2093,11],[3524,11]]},"17":{"position":[[35,12],[161,11],[518,11]]},"30":{"position":[[428,11]]},"38":{"position":[[292,11],[355,11],[972,11],[1051,11],[1135,11]]},"50":{"position":[[52,11],[185,12]]},"52":{"position":[[194,12]]},"54":{"position":[[155,11]]},"56":{"position":[[78,11]]},"58":{"position":[[124,11]]},"78":{"position":[[64,11]]},"80":{"position":[[78,11],[160,11]]},"108":{"position":[[462,12]]},"120":{"position":[[163,12],[217,11]]},"126":{"position":[[112,12],[957,11],[1457,11]]},"134":{"position":[[481,12]]},"137":{"position":[[30,11],[172,11],[481,11],[804,11],[1915,12]]},"143":{"position":[[112,12],[1375,11],[2918,11]]},"244":{"position":[[150,11]]},"325":{"position":[[149,11]]}}}],["application's",{"_index":271,"t":{"11":{"position":[[2134,13]]},"13":{"position":[[1517,13],[3441,13]]}}}],["applications",{"_index":128,"t":{"9":{"position":[[231,12],[1319,12]]},"22":{"position":[[118,12],[191,12],[333,12]]},"24":{"position":[[7,13],[56,12]]},"26":{"position":[[56,12],[331,13],[919,13],[1035,13],[1089,13],[1158,12]]},"42":{"position":[[14,12]]},"58":{"position":[[251,12]]},"74":{"position":[[73,13]]},"82":{"position":[[111,13]]},"84":{"position":[[91,12]]},"118":{"position":[[212,12],[298,12]]},"176":{"position":[[308,12]]},"196":{"position":[[146,12]]},"234":{"position":[[146,12]]},"248":{"position":[[147,12]]},"305":{"position":[[146,12]]},"329":{"position":[[146,12]]}}}],["applied",{"_index":1844,"t":{"261":{"position":[[981,7]]}}}],["apply",{"_index":588,"t":{"26":{"position":[[946,5]]},"82":{"position":[[27,5]]},"214":{"position":[[159,5]]},"267":{"position":[[316,5]]}}}],["approach",{"_index":402,"t":{"13":{"position":[[2302,8]]},"17":{"position":[[320,9]]}}}],["appropriate",{"_index":287,"t":{"11":{"position":[[2523,11]]},"52":{"position":[[20,11]]},"275":{"position":[[250,11]]}}}],["approximate",{"_index":1818,"t":{"259":{"position":[[2692,11]]}}}],["approximates",{"_index":2325,"t":{"279":{"position":[[1104,12]]}}}],["approximating",{"_index":2295,"t":{"279":{"position":[[217,13]]}}}],["approximation",{"_index":2297,"t":{"279":{"position":[[306,13],[1778,14]]}}}],["app’s",{"_index":147,"t":{"9":{"position":[[762,5]]}}}],["apt",{"_index":1291,"t":{"132":{"position":[[160,3]]},"192":{"position":[[119,3],[135,3]]},"194":{"position":[[352,3],[393,3]]}}}],["arch",{"_index":1608,"t":{"192":{"position":[[245,4]]}}}],["architecture",{"_index":61,"t":{"3":{"position":[[776,12]]},"5":{"position":[[749,12]]},"9":{"position":[[557,12],[612,12]]},"11":{"position":[[49,12],[265,12],[3103,12]]},"13":{"position":[[550,12]]}}}],["arduino",{"_index":2419,"t":{"315":{"position":[[33,7],[223,8]]}}}],["area",{"_index":1403,"t":{"137":{"position":[[1830,5]]},"285":{"position":[[430,4],[556,4],[673,4]]}}}],["areas",{"_index":1392,"t":{"137":{"position":[[1395,5],[1539,6]]},"285":{"position":[[506,6],[722,6]]}}}],["argument",{"_index":1178,"t":{"110":{"position":[[516,9]]}}}],["arm",{"_index":1656,"t":{"210":{"position":[[7,3]]},"242":{"position":[[114,3]]},"244":{"position":[[121,3]]},"323":{"position":[[114,3]]},"325":{"position":[[120,3]]}}}],["arms",{"_index":1087,"t":{"92":{"position":[[93,5]]}}}],["armv7.yml",{"_index":1658,"t":{"210":{"position":[[87,10],[135,9]]}}}],["around",{"_index":339,"t":{"13":{"position":[[709,6]]},"261":{"position":[[4046,6]]},"281":{"position":[[426,6]]},"287":{"position":[[14,6]]}}}],["array",{"_index":921,"t":{"68":{"position":[[642,6]]}}}],["arrays",{"_index":858,"t":{"60":{"position":[[91,7]]},"64":{"position":[[125,7]]},"66":{"position":[[47,7]]},"68":{"position":[[95,6],[388,6]]}}}],["arrived",{"_index":406,"t":{"13":{"position":[[2696,7],[3116,7]]}}}],["arrives",{"_index":298,"t":{"11":{"position":[[2981,8]]}}}],["ask",{"_index":1321,"t":{"134":{"position":[[1058,3]]},"146":{"position":[[38,3],[137,3]]},"155":{"position":[[126,3]]}}}],["ask.py",{"_index":1137,"t":{"103":{"position":[[340,6],[680,6]]}}}],["ask_async",{"_index":218,"t":{"11":{"position":[[843,9]]},"36":{"position":[[139,9],[195,9],[443,9]]}}}],["asked",{"_index":734,"t":{"40":{"position":[[815,5]]}}}],["asking",{"_index":1280,"t":{"128":{"position":[[56,6]]}}}],["aspects",{"_index":553,"t":{"26":{"position":[[36,7]]}}}],["assembly",{"_index":1068,"t":{"88":{"position":[[251,9]]}}}],["assessing",{"_index":2337,"t":{"281":{"position":[[59,9]]}}}],["assigned",{"_index":1196,"t":{"116":{"position":[[142,8]]}}}],["assist",{"_index":1042,"t":{"86":{"position":[[45,6]]}}}],["assistance",{"_index":2421,"t":{"315":{"position":[[159,10]]}}}],["associated",{"_index":1859,"t":{"261":{"position":[[1632,10]]},"263":{"position":[[818,10]]},"267":{"position":[[679,10]]}}}],["assume",{"_index":676,"t":{"36":{"position":[[808,6]]},"38":{"position":[[343,6]]}}}],["assuming",{"_index":1582,"t":{"182":{"position":[[0,8]]},"222":{"position":[[0,8]]},"240":{"position":[[0,8]]},"287":{"position":[[373,9]]},"293":{"position":[[0,8]]},"321":{"position":[[0,8]]}}}],["assumption",{"_index":1855,"t":{"261":{"position":[[1340,10]]}}}],["assumptions",{"_index":1832,"t":{"261":{"position":[[397,12]]}}}],["async",{"_index":724,"t":{"40":{"position":[[160,5],[724,5]]}}}],["asynchronous",{"_index":577,"t":{"26":{"position":[[610,12],[668,12]]},"34":{"position":[[55,12]]}}}],["asynchronously",{"_index":578,"t":{"26":{"position":[[718,14]]},"36":{"position":[[114,14]]},"40":{"position":[[31,15],[821,14]]}}}],["attached",{"_index":439,"t":{"15":{"position":[[531,8]]}}}],["attempting",{"_index":722,"t":{"40":{"position":[[94,10]]}}}],["attention",{"_index":1228,"t":{"120":{"position":[[387,9]]}}}],["audit",{"_index":1562,"t":{"172":{"position":[[511,5]]}}}],["auroc",{"_index":1764,"t":{"259":{"position":[[1073,6]]}}}],["authenticate",{"_index":1139,"t":{"106":{"position":[[97,12]]}}}],["authentication",{"_index":434,"t":{"15":{"position":[[152,15],[494,15]]}}}],["authorize",{"_index":1140,"t":{"106":{"position":[[133,9]]}}}],["automatically",{"_index":461,"t":{"15":{"position":[[1103,13]]},"17":{"position":[[685,13]]},"72":{"position":[[460,13]]},"99":{"position":[[73,13]]},"110":{"position":[[288,13]]},"242":{"position":[[142,13]]},"323":{"position":[[142,13]]}}}],["automating",{"_index":1043,"t":{"86":{"position":[[55,10]]}}}],["automation",{"_index":1032,"t":{"84":{"position":[[148,10]]},"88":{"position":[[60,10]]}}}],["available",{"_index":660,"t":{"36":{"position":[[308,9]]},"40":{"position":[[431,9]]},"137":{"position":[[713,9]]},"200":{"position":[[96,10]]},"259":{"position":[[2909,10]]},"269":{"position":[[2165,9]]},"281":{"position":[[581,9]]},"315":{"position":[[84,9]]}}}],["average",{"_index":1756,"t":{"259":{"position":[[777,7]]},"275":{"position":[[1120,7]]}}}],["averaged",{"_index":2287,"t":{"277":{"position":[[2911,8]]}}}],["averages",{"_index":2290,"t":{"277":{"position":[[3040,8]]}}}],["averaging",{"_index":2282,"t":{"277":{"position":[[2405,9]]}}}],["avoid",{"_index":809,"t":{"48":{"position":[[87,5]]},"110":{"position":[[210,5]]}}}],["avoiding",{"_index":327,"t":{"13":{"position":[[467,8]]}}}],["await",{"_index":441,"t":{"15":{"position":[[576,5]]}}}],["away",{"_index":1116,"t":{"99":{"position":[[392,4]]},"143":{"position":[[1539,4]]}}}],["aws",{"_index":1649,"t":{"206":{"position":[[70,3]]}}}],["axis",{"_index":2029,"t":{"263":{"position":[[1350,4],[1410,4],[1559,5]]}}}],["back",{"_index":498,"t":{"19":{"position":[[60,5]]},"56":{"position":[[192,4]]},"99":{"position":[[617,4]]},"271":{"position":[[10,4]]}}}],["backend",{"_index":1646,"t":{"202":{"position":[[319,7]]}}}],["backoff",{"_index":831,"t":{"54":{"position":[[65,7]]}}}],["bad",{"_index":778,"t":{"44":{"position":[[649,3]]},"146":{"position":[[580,3]]}}}],["balance",{"_index":935,"t":{"68":{"position":[[1031,7]]},"72":{"position":[[1489,7]]}}}],["balanced",{"_index":1755,"t":{"259":{"position":[[733,8],[752,8],[986,8],[1414,8],[1537,8],[1898,8],[2069,8],[2254,8],[3054,8]]},"261":{"position":[[51,8]]},"269":{"position":[[191,8]]},"273":{"position":[[1234,8]]},"275":{"position":[[16,8],[212,8],[1079,8]]},"277":{"position":[[57,8],[2384,8],[2960,8],[2993,8]]},"281":{"position":[[204,8],[433,8]]},"283":{"position":[[161,8]]},"287":{"position":[[827,8]]}}}],["bandwidth",{"_index":605,"t":{"28":{"position":[[190,10]]}}}],["bars",{"_index":1804,"t":{"259":{"position":[[2413,4]]}}}],["bar{p}(n",{"_index":2138,"t":{"269":{"position":[[1544,12]]}}}],["based",{"_index":272,"t":{"11":{"position":[[2154,5]]},"13":{"position":[[3343,5]]},"15":{"position":[[267,5]]},"26":{"position":[[976,5]]},"34":{"position":[[422,5]]},"38":{"position":[[259,5],[867,5],[958,5],[1037,5],[1121,5]]},"76":{"position":[[159,5]]},"80":{"position":[[132,5]]},"82":{"position":[[57,5]]},"84":{"position":[[24,5]]},"137":{"position":[[1909,5]]},"149":{"position":[[86,5]]},"192":{"position":[[99,5],[201,5]]},"259":{"position":[[2725,5],[2814,5]]},"271":{"position":[[228,5]]},"277":{"position":[[93,5],[541,5]]},"279":{"position":[[1675,5],[1758,5]]},"315":{"position":[[41,5]]}}}],["basics",{"_index":1622,"t":{"194":{"position":[[381,6]]}}}],["bayesian",{"_index":2390,"t":{"287":{"position":[[723,8]]}}}],["become",{"_index":259,"t":{"11":{"position":[[1844,6],[2012,6]]},"17":{"position":[[366,6]]},"86":{"position":[[297,6]]}}}],["becomes",{"_index":13,"t":{"3":{"position":[[178,7]]},"5":{"position":[[151,7]]}}}],["before",{"_index":699,"t":{"36":{"position":[[1427,6]]},"68":{"position":[[476,6],[684,6]]},"72":{"position":[[708,6]]},"118":{"position":[[328,6]]},"126":{"position":[[1415,6]]},"212":{"position":[[0,6]]}}}],["behavior",{"_index":846,"t":{"56":{"position":[[210,9]]},"137":{"position":[[853,9]]}}}],["behind",{"_index":1809,"t":{"259":{"position":[[2524,6]]}}}],["being",{"_index":1354,"t":{"137":{"position":[[240,5]]},"263":{"position":[[387,5]]}}}],["bell",{"_index":2027,"t":{"263":{"position":[[1330,5],[1765,4]]}}}],["below",{"_index":997,"t":{"72":{"position":[[1890,5]]},"176":{"position":[[35,5]]},"192":{"position":[[182,7]]},"202":{"position":[[259,6]]},"261":{"position":[[3492,5]]},"263":{"position":[[1173,5],[1844,6]]},"265":{"position":[[778,5],[1841,5]]},"269":{"position":[[2635,6]]},"273":{"position":[[727,6]]},"277":{"position":[[2885,6]]},"281":{"position":[[866,6]]},"285":{"position":[[407,5]]}}}],["belt",{"_index":1496,"t":{"146":{"position":[[255,4],[321,6]]}}}],["beneficial",{"_index":198,"t":{"11":{"position":[[294,10]]},"137":{"position":[[500,10]]}}}],["benefit",{"_index":2291,"t":{"279":{"position":[[9,7]]}}}],["best",{"_index":803,"t":{"46":{"position":[[52,4]]},"58":{"position":[[199,4]]},"72":{"position":[[231,4]]},"108":{"position":[[111,4],[272,4]]},"110":{"position":[[101,4]]}}}],["better",{"_index":948,"t":{"72":{"position":[[152,6],[529,6]]},"172":{"position":[[285,6]]},"261":{"position":[[4671,6]]},"281":{"position":[[647,6]]}}}],["between",{"_index":819,"t":{"50":{"position":[[113,7]]},"92":{"position":[[181,7]]}}}],["bgr",{"_index":874,"t":{"64":{"position":[[158,3]]},"66":{"position":[[100,3],[463,3]]},"68":{"position":[[30,3],[133,3],[212,3],[770,3]]}}}],["bgr_img",{"_index":923,"t":{"68":{"position":[[780,7]]}}}],["bias",{"_index":1977,"t":{"263":{"position":[[163,4],[551,5],[1037,4],[1868,4]]},"269":{"position":[[376,4]]}}}],["biased",{"_index":1996,"t":{"263":{"position":[[533,6]]},"265":{"position":[[106,6]]},"269":{"position":[[358,6]]},"271":{"position":[[156,6]]}}}],["bin/bash",{"_index":1298,"t":{"134":{"position":[[57,11]]}}}],["binary",{"_index":321,"t":{"13":{"position":[[368,6]]},"146":{"position":[[42,6]]},"149":{"position":[[17,6]]},"157":{"position":[[14,6]]},"159":{"position":[[23,7]]},"210":{"position":[[30,6]]},"259":{"position":[[862,6]]},"261":{"position":[[1643,6]]},"275":{"position":[[40,6]]}}}],["binom",{"_index":2162,"t":{"269":{"position":[[2666,5]]}}}],["binom.cdf",{"_index":2149,"t":{"269":{"position":[[2219,10]]}}}],["binom.cdf(k",{"_index":2166,"t":{"269":{"position":[[2867,12]]}}}],["binomial",{"_index":1811,"t":{"259":{"position":[[2583,8],[2827,8]]},"263":{"position":[[416,8],[1240,8],[1726,8],[1804,8]]},"265":{"position":[[803,8],[1323,8],[1502,8],[2390,8],[3117,8]]},"269":{"position":[[1460,8],[2149,8]]},"271":{"position":[[820,8]]},"277":{"position":[[554,8]]},"279":{"position":[[50,8],[235,8],[382,8],[1688,8]]}}}],["binomial's",{"_index":2097,"t":{"267":{"position":[[147,10]]},"269":{"position":[[233,10]]}}}],["binomial_upper_bound(n",{"_index":2163,"t":{"269":{"position":[[2676,23]]}}}],["bisection",{"_index":2161,"t":{"269":{"position":[[2599,9]]}}}],["bit",{"_index":4,"t":{"3":{"position":[[68,3]]},"5":{"position":[[41,3]]},"7":{"position":[[764,3]]},"13":{"position":[[1822,3]]},"210":{"position":[[3,3]]},"265":{"position":[[1886,3]]}}}],["black",{"_index":1508,"t":{"151":{"position":[[91,5]]},"261":{"position":[[3855,5]]}}}],["blocked",{"_index":758,"t":{"44":{"position":[[300,10]]}}}],["blocking",{"_index":209,"t":{"11":{"position":[[589,8]]}}}],["blog",{"_index":1796,"t":{"259":{"position":[[2127,4],[2488,4]]}}}],["blue",{"_index":930,"t":{"68":{"position":[[865,4]]},"261":{"position":[[3792,4]]}}}],["board",{"_index":2394,"t":{"307":{"position":[[84,6]]},"309":{"position":[[108,6],[229,5],[341,6]]}}}],["boards",{"_index":2408,"t":{"313":{"position":[[26,7],[51,6]]}}}],["body",{"_index":1421,"t":{"143":{"position":[[808,6]]}}}],["body=daily_summary",{"_index":1486,"t":{"143":{"position":[[2860,19]]}}}],["boilerplate",{"_index":433,"t":{"15":{"position":[[130,11]]}}}],["bool",{"_index":369,"t":{"13":{"position":[[1200,6],[1269,5]]}}}],["bot",{"_index":166,"t":{"9":{"position":[[1132,3],[1200,3]]},"11":{"position":[[2677,4],[2863,4],[2901,4],[2994,3]]},"15":{"position":[[36,3],[192,3],[301,3],[441,3],[688,4],[836,3],[914,3],[1093,3]]}}}],["both",{"_index":2334,"t":{"279":{"position":[[1705,4]]}}}],["bottlenecks",{"_index":1060,"t":{"88":{"position":[[97,12]]}}}],["bottom",{"_index":2060,"t":{"265":{"position":[[1350,8],[2417,8],[3144,8]]},"273":{"position":[[888,7]]}}}],["bound",{"_index":1800,"t":{"259":{"position":[[2232,5],[2990,6]]},"261":{"position":[[1211,5]]},"265":{"position":[[253,5],[492,5],[710,6],[1696,5],[1777,5],[1812,6],[3510,6]]},"267":{"position":[[269,5],[753,5]]},"269":{"position":[[554,6],[663,6],[693,5],[726,6],[844,5],[1104,6],[1486,5],[1955,6],[2759,5]]},"271":{"position":[[313,5],[400,5],[517,5],[561,5],[846,5]]},"273":{"position":[[393,5]]},"277":{"position":[[47,5],[1875,5],[2127,5]]},"279":{"position":[[199,5],[1406,5]]},"285":{"position":[[22,5],[372,5],[545,6]]},"287":{"position":[[122,5],[210,6],[282,5],[515,6],[603,5]]}}}],["bounded",{"_index":2181,"t":{"271":{"position":[[195,7]]},"277":{"position":[[3014,7]]}}}],["bounding",{"_index":2266,"t":{"277":{"position":[[1650,8]]},"287":{"position":[[354,8]]}}}],["bounds",{"_index":2100,"t":{"267":{"position":[[386,6],[457,6],[712,7]]},"269":{"position":[[92,7],[746,6],[1260,7]]},"271":{"position":[[85,6]]},"273":{"position":[[47,6],[162,6],[592,7],[812,6],[870,6],[913,6],[979,6],[1124,6]]},"277":{"position":[[493,6],[597,6],[1807,6],[1955,6],[2085,7],[2251,6],[2373,6],[2446,6],[2936,6],[3072,6]]},"279":{"position":[[26,6]]}}}],["box",{"_index":1673,"t":{"212":{"position":[[283,3]]}}}],["boxes",{"_index":1497,"t":{"146":{"position":[[260,7],[299,5]]}}}],["break",{"_index":376,"t":{"13":{"position":[[1407,5]]}}}],["brew",{"_index":1286,"t":{"132":{"position":[[113,4]]},"232":{"position":[[117,4]]}}}],["brief",{"_index":2350,"t":{"281":{"position":[[849,5]]}}}],["brings",{"_index":1795,"t":{"259":{"position":[[2094,6]]}}}],["broad",{"_index":811,"t":{"48":{"position":[[102,5]]}}}],["brodersen",{"_index":2358,"t":{"283":{"position":[[132,10]]},"287":{"position":[[756,9]]}}}],["broken",{"_index":137,"t":{"9":{"position":[[628,6]]},"11":{"position":[[661,6]]}}}],["browser",{"_index":1687,"t":{"216":{"position":[[200,7]]},"309":{"position":[[374,7],[530,7]]}}}],["brush",{"_index":231,"t":{"11":{"position":[[1117,6]]}}}],["build",{"_index":119,"t":{"9":{"position":[[39,5]]},"22":{"position":[[105,5]]},"42":{"position":[[150,5]]},"46":{"position":[[92,5]]},"78":{"position":[[90,5]]},"97":{"position":[[0,5]]},"202":{"position":[[81,5]]},"253":{"position":[[223,5]]}}}],["building",{"_index":175,"t":{"9":{"position":[[1310,8]]},"26":{"position":[[47,8],[1133,8]]},"38":{"position":[[312,9]]},"42":{"position":[[5,8]]},"176":{"position":[[292,8]]},"196":{"position":[[137,8]]},"234":{"position":[[137,8]]},"248":{"position":[[137,9]]},"305":{"position":[[137,8]]},"313":{"position":[[95,8]]},"329":{"position":[[137,8]]}}}],["built",{"_index":490,"t":{"17":{"position":[[643,5]]},"22":{"position":[[346,5]]},"24":{"position":[[69,5]]}}}],["bunch",{"_index":1710,"t":{"253":{"position":[[25,5]]}}}],["busier",{"_index":1370,"t":{"137":{"position":[[871,6]]}}}],["business",{"_index":426,"t":{"13":{"position":[[3487,9]]},"80":{"position":[[272,8]]}}}],["business's",{"_index":1438,"t":{"143":{"position":[[1137,10]]}}}],["button",{"_index":1188,"t":{"114":{"position":[[105,7]]},"118":{"position":[[68,6]]}}}],["c",{"_index":1590,"t":{"186":{"position":[[125,1]]},"226":{"position":[[125,1]]},"297":{"position":[[125,1]]}}}],["cable",{"_index":2397,"t":{"309":{"position":[[265,6]]}}}],["call",{"_index":746,"t":{"44":{"position":[[40,5]]},"106":{"position":[[70,4]]},"168":{"position":[[203,5]]},"261":{"position":[[1493,4]]}}}],["called",{"_index":1908,"t":{"261":{"position":[[2922,6]]},"273":{"position":[[255,6]]}}}],["calls",{"_index":740,"t":{"42":{"position":[[96,6]]}}}],["cam",{"_index":683,"t":{"36":{"position":[[1062,3]]},"64":{"position":[[326,3]]},"313":{"position":[[272,3]]}}}],["cam.read",{"_index":691,"t":{"36":{"position":[[1156,10]]},"64":{"position":[[408,10]]}}}],["cam.release",{"_index":700,"t":{"36":{"position":[[1460,13]]},"64":{"position":[[510,13]]}}}],["camera",{"_index":57,"t":{"3":{"position":[[723,6]]},"5":{"position":[[696,6]]},"9":{"position":[[327,6],[365,6]]},"11":{"position":[[754,6],[1477,6]]},"34":{"position":[[306,6]]},"36":{"position":[[1101,6],[1196,6],[1488,6]]},"64":{"position":[[365,6],[538,6]]},"78":{"position":[[151,7]]},"122":{"position":[[79,6]]},"126":{"position":[[311,6]]},"137":{"position":[[1768,6],[1840,6]]},"139":{"position":[[79,6]]},"143":{"position":[[424,6]]},"176":{"position":[[192,6]]},"200":{"position":[[53,6]]},"202":{"position":[[377,6]]},"307":{"position":[[77,6]]},"309":{"position":[[101,6],[222,6],[334,6]]},"313":{"position":[[192,6],[241,6]]}}}],["cameras",{"_index":81,"t":{"7":{"position":[[182,8]]},"9":{"position":[[270,7]]},"11":{"position":[[415,8],[459,7]]},"68":{"position":[[242,7]]},"70":{"position":[[185,7],[314,7],[325,7]]},"76":{"position":[[165,8]]}}}],["campaigns",{"_index":1377,"t":{"137":{"position":[[1001,9]]}}}],["can't",{"_index":2155,"t":{"269":{"position":[[2382,5]]}}}],["cap",{"_index":1243,"t":{"126":{"position":[[353,3]]},"143":{"position":[[466,3]]}}}],["cap.read",{"_index":1245,"t":{"126":{"position":[[392,10]]},"143":{"position":[[505,10]]}}}],["cap.release",{"_index":1246,"t":{"126":{"position":[[403,13]]},"143":{"position":[[516,13]]}}}],["capabilities",{"_index":594,"t":{"26":{"position":[[1228,13]]},"92":{"position":[[142,12]]}}}],["capture",{"_index":692,"t":{"36":{"position":[[1169,7]]},"64":{"position":[[421,7]]},"126":{"position":[[285,7],[1378,7]]},"143":{"position":[[398,7],[1888,7]]}}}],["capture_image",{"_index":1242,"t":{"126":{"position":[[336,16],[1076,15],[1497,13]]},"143":{"position":[[449,16],[1841,15],[2958,13]]}}}],["capturer",{"_index":214,"t":{"11":{"position":[[703,9],[1390,9],[1449,8],[1740,8],[1947,8]]}}}],["captures",{"_index":215,"t":{"11":{"position":[[731,8]]},"126":{"position":[[1469,8]]},"143":{"position":[[2930,8]]}}}],["cardboard",{"_index":1499,"t":{"146":{"position":[[289,9]]}}}],["care",{"_index":1742,"t":{"259":{"position":[[448,4],[521,4]]}}}],["careful",{"_index":1727,"t":{"259":{"position":[[23,7]]}}}],["case",{"_index":632,"t":{"30":{"position":[[706,4]]},"36":{"position":[[541,4]]},"259":{"position":[[121,5]]},"261":{"position":[[435,4],[4337,5]]},"287":{"position":[[442,5],[541,5]]}}}],["cases",{"_index":537,"t":{"22":{"position":[[220,6]]},"259":{"position":[[612,5]]},"267":{"position":[[564,6]]},"287":{"position":[[311,5]]}}}],["catch",{"_index":805,"t":{"48":{"position":[[0,5]]},"58":{"position":[[84,5]]}}}],["catching",{"_index":810,"t":{"48":{"position":[[93,8]]}}}],["cause",{"_index":1724,"t":{"257":{"position":[[123,5]]}}}],["cautious",{"_index":1180,"t":{"110":{"position":[[621,8]]}}}],["cd",{"_index":1683,"t":{"216":{"position":[[105,2]]}}}],["cdf",{"_index":2011,"t":{"263":{"position":[[805,5],[1070,3],[1212,3],[1476,3],[1569,3]]},"265":{"position":[[1346,3],[1398,3],[1491,3],[2413,3],[2465,3],[3140,3],[3192,3]]},"269":{"position":[[244,3],[2017,3],[2158,3],[2345,3]]},"277":{"position":[[563,4]]},"279":{"position":[[59,3],[1697,3]]}}}],["cdf(mid",{"_index":2173,"t":{"269":{"position":[[3001,8]]}}}],["cdf(p",{"_index":2165,"t":{"269":{"position":[[2852,7]]}}}],["celebrates",{"_index":519,"t":{"19":{"position":[[423,10]]}}}],["celebrating",{"_index":108,"t":{"7":{"position":[[631,11]]}}}],["centers",{"_index":1050,"t":{"86":{"position":[[154,8]]}}}],["central",{"_index":2197,"t":{"273":{"position":[[264,7],[322,7],[519,7],[699,7],[759,7],[1081,7],[1201,7]]},"279":{"position":[[335,7]]}}}],["challenging",{"_index":413,"t":{"13":{"position":[[3235,11]]}}}],["chance",{"_index":112,"t":{"7":{"position":[[699,6]]},"265":{"position":[[1052,6],[1423,6],[1540,6],[1935,6],[2492,6],[3216,6]]}}}],["change",{"_index":477,"t":{"17":{"position":[[294,6]]},"68":{"position":[[528,6]]},"216":{"position":[[300,6]]}}}],["changing",{"_index":2410,"t":{"313":{"position":[[133,8]]}}}],["channel",{"_index":906,"t":{"66":{"position":[[430,7]]},"68":{"position":[[462,7],[670,7],[753,7]]}}}],["channel.send(\"message",{"_index":442,"t":{"15":{"position":[[582,23]]}}}],["channels=wf.getnchannels",{"_index":1258,"t":{"126":{"position":[[740,27]]}}}],["characterizes",{"_index":1991,"t":{"263":{"position":[[449,13]]}}}],["check",{"_index":384,"t":{"13":{"position":[[1576,5],[2734,5]]},"19":{"position":[[295,5]]},"26":{"position":[[87,5]]},"108":{"position":[[50,5]]},"168":{"position":[[29,5]]},"186":{"position":[[3,5]]},"190":{"position":[[3,5]]},"226":{"position":[[3,5]]},"230":{"position":[[3,5]]},"297":{"position":[[3,5]]},"301":{"position":[[3,5]]}}}],["checker",{"_index":756,"t":{"44":{"position":[[265,9]]}}}],["checking",{"_index":1274,"t":{"126":{"position":[[1422,8]]},"188":{"position":[[259,9]]},"228":{"position":[[259,9]]},"299":{"position":[[259,9]]}}}],["checks",{"_index":392,"t":{"13":{"position":[[1849,6],[2105,6]]},"137":{"position":[[273,6]]}}}],["cheesy",{"_index":114,"t":{"7":{"position":[[739,7]]}}}],["chmod",{"_index":1305,"t":{"134":{"position":[[347,5]]}}}],["choice",{"_index":1962,"t":{"261":{"position":[[4347,6]]},"265":{"position":[[689,6],[1670,6],[3490,6]]}}}],["choose",{"_index":1573,"t":{"176":{"position":[[0,6]]},"263":{"position":[[718,7]]}}}],["chose",{"_index":262,"t":{"11":{"position":[[1889,5]]}}}],["chrome",{"_index":2401,"t":{"309":{"position":[[512,6]]}}}],["chunk",{"_index":1250,"t":{"126":{"position":[[606,5]]}}}],["circled",{"_index":1961,"t":{"261":{"position":[[4275,7]]}}}],["circles",{"_index":1954,"t":{"261":{"position":[[4038,7]]}}}],["class",{"_index":360,"t":{"13":{"position":[[1069,5]]},"259":{"position":[[1304,5],[1440,5]]},"275":{"position":[[116,5],[169,6],[300,6],[348,5],[781,5]]},"277":{"position":[[2483,5]]}}}],["classes",{"_index":817,"t":{"50":{"position":[[35,7]]},"259":{"position":[[803,7]]}}}],["classification",{"_index":2180,"t":{"271":{"position":[[136,14]]},"283":{"position":[[61,15]]}}}],["classifications",{"_index":2145,"t":{"269":{"position":[[1824,15]]}}}],["classified",{"_index":1930,"t":{"261":{"position":[[3426,10]]},"265":{"position":[[150,10],[446,10]]},"269":{"position":[[1369,10]]},"271":{"position":[[711,10]]},"277":{"position":[[347,10],[431,10]]}}}],["classifier",{"_index":1829,"t":{"261":{"position":[[260,10],[449,10],[787,10],[1249,10],[1418,10],[1536,10],[1834,10],[3809,11]]},"265":{"position":[[286,10],[419,11],[932,10]]},"269":{"position":[[2786,10]]},"275":{"position":[[47,10]]},"277":{"position":[[82,10]]}}}],["classifier's",{"_index":1839,"t":{"261":{"position":[[590,12],[667,12],[890,12]]},"263":{"position":[[47,12],[363,12]]},"265":{"position":[[980,12]]}}}],["classifiers",{"_index":2101,"t":{"267":{"position":[[410,11],[507,12]]},"279":{"position":[[1521,11]]}}}],["classifies",{"_index":1873,"t":{"261":{"position":[[1978,10],[2249,10],[2908,10],[3903,10]]},"269":{"position":[[2812,10]]}}}],["classifying",{"_index":1985,"t":{"263":{"position":[[260,11]]}}}],["clean",{"_index":76,"t":{"7":{"position":[[104,5]]},"11":{"position":[[2337,5]]}}}],["cleaning",{"_index":19,"t":{"3":{"position":[[246,8]]},"5":{"position":[[219,8]]},"11":{"position":[[1084,8]]},"19":{"position":[[468,8]]}}}],["cleanliness",{"_index":1529,"t":{"159":{"position":[[31,13]]}}}],["clear",{"_index":20,"t":{"3":{"position":[[269,5]]},"5":{"position":[[242,5]]},"62":{"position":[[213,7],[240,8]]},"137":{"position":[[1812,5]]},"157":{"position":[[96,5]]},"271":{"position":[[56,5]]}}}],["clearly",{"_index":2329,"t":{"279":{"position":[[1480,7]]}}}],["click",{"_index":1187,"t":{"114":{"position":[[72,5],[189,5]]},"118":{"position":[[49,5]]},"212":{"position":[[287,5],[312,5]]},"309":{"position":[[272,5]]}}}],["clicks",{"_index":2396,"t":{"309":{"position":[[158,7]]}}}],["clone",{"_index":1681,"t":{"216":{"position":[[37,5]]}}}],["close",{"_index":2171,"t":{"269":{"position":[[2962,5]]},"279":{"position":[[1171,5],[1544,5],[1607,5]]}}}],["cloud",{"_index":619,"t":{"30":{"position":[[284,5],[408,5],[640,5],[779,6]]},"168":{"position":[[88,5]]}}}],["clouds",{"_index":1523,"t":{"155":{"position":[[147,6]]}}}],["cluster",{"_index":1678,"t":{"214":{"position":[[102,7]]}}}],["clutter",{"_index":1533,"t":{"159":{"position":[[136,7]]}}}],["cnc",{"_index":1048,"t":{"86":{"position":[[132,3]]},"92":{"position":[[269,3]]}}}],["cobot",{"_index":1086,"t":{"92":{"position":[[79,5]]}}}],["code",{"_index":79,"t":{"7":{"position":[[165,6]]},"19":{"position":[[316,5]]},"22":{"position":[[144,5]]},"40":{"position":[[276,4]]},"42":{"position":[[163,4]]},"44":{"position":[[571,4],[596,5]]},"46":{"position":[[105,5]]},"66":{"position":[[273,4]]},"72":{"position":[[378,4],[2056,4]]},"106":{"position":[[148,4]]},"108":{"position":[[80,4]]},"110":{"position":[[258,4],[368,4],[649,4]]},"134":{"position":[[1423,4]]},"172":{"position":[[245,4]]},"198":{"position":[[145,4]]},"206":{"position":[[37,5]]},"269":{"position":[[2139,5]]},"307":{"position":[[35,4]]},"315":{"position":[[11,4]]}}}],["codes",{"_index":776,"t":{"44":{"position":[[636,6]]}}}],["coin",{"_index":1980,"t":{"263":{"position":[[189,4],[311,5],[325,4],[540,4]]},"265":{"position":[[43,4],[113,4]]},"269":{"position":[[365,4]]},"271":{"position":[[36,4],[163,4]]}}}],["coin's",{"_index":2016,"t":{"263":{"position":[[1030,6]]}}}],["collaboration",{"_index":1089,"t":{"92":{"position":[[167,13]]}}}],["colleague",{"_index":521,"t":{"19":{"position":[[442,10]]}}}],["colleagues",{"_index":489,"t":{"17":{"position":[[627,10]]}}}],["collection",{"_index":2371,"t":{"285":{"position":[[46,10]]}}}],["collects",{"_index":299,"t":{"11":{"position":[[2998,8]]},"15":{"position":[[305,8]]}}}],["color",{"_index":884,"t":{"66":{"position":[[104,5]]},"68":{"position":[[216,5],[1025,5]]},"261":{"position":[[3768,5]]}}}],["colored",{"_index":1803,"t":{"259":{"position":[[2405,7]]}}}],["combination",{"_index":320,"t":{"13":{"position":[[353,11]]}}}],["combines",{"_index":135,"t":{"9":{"position":[[479,8]]},"101":{"position":[[36,8]]}}}],["come",{"_index":1122,"t":{"99":{"position":[[612,4]]}}}],["comes",{"_index":107,"t":{"7":{"position":[[586,5]]},"253":{"position":[[293,5]]},"279":{"position":[[320,5]]}}}],["command",{"_index":1014,"t":{"76":{"position":[[210,8]]},"134":{"position":[[10,7],[338,8]]},"184":{"position":[[60,7]]},"188":{"position":[[88,8]]},"224":{"position":[[60,7]]},"228":{"position":[[88,8]]},"242":{"position":[[60,7]]},"295":{"position":[[60,7],[76,7]]},"299":{"position":[[88,8]]},"301":{"position":[[47,7]]},"323":{"position":[[60,7]]}}}],["commands",{"_index":1070,"t":{"88":{"position":[[301,8]]}}}],["commercially",{"_index":1765,"t":{"259":{"position":[[1095,12]]}}}],["commit",{"_index":1181,"t":{"110":{"position":[[637,6]]}}}],["commits",{"_index":70,"t":{"3":{"position":[[915,8]]},"5":{"position":[[888,8]]}}}],["committing",{"_index":1175,"t":{"110":{"position":[[229,10]]}}}],["common",{"_index":775,"t":{"44":{"position":[[617,6]]},"76":{"position":[[148,6]]},"259":{"position":[[1297,6]]},"265":{"position":[[2593,7]]}}}],["commonly",{"_index":1723,"t":{"257":{"position":[[6,8]]},"279":{"position":[[185,8]]}}}],["communicate",{"_index":672,"t":{"36":{"position":[[651,11]]}}}],["communicating",{"_index":618,"t":{"30":{"position":[[249,13]]}}}],["communication",{"_index":1095,"t":{"92":{"position":[[349,13]]}}}],["compare",{"_index":2293,"t":{"279":{"position":[[163,7]]}}}],["compatibility",{"_index":913,"t":{"68":{"position":[[189,13]]}}}],["compatible",{"_index":1696,"t":{"242":{"position":[[118,10]]},"323":{"position":[[118,10]]}}}],["complete",{"_index":1217,"t":{"120":{"position":[[154,8]]},"246":{"position":[[6,8]]},"327":{"position":[[6,8]]}}}],["completely",{"_index":1990,"t":{"263":{"position":[[438,10]]}}}],["completing",{"_index":1578,"t":{"176":{"position":[[212,10]]}}}],["complex",{"_index":39,"t":{"3":{"position":[[499,7],[822,7]]},"5":{"position":[[472,7],[795,7]]},"9":{"position":[[828,7],[938,8]]},"11":{"position":[[532,7],[2113,7]]},"13":{"position":[[51,7],[1831,8]]},"22":{"position":[[259,7]]},"72":{"position":[[318,7]]},"86":{"position":[[267,7]]}}}],["complexity",{"_index":336,"t":{"13":{"position":[[673,11]]},"15":{"position":[[670,10]]}}}],["component",{"_index":1660,"t":{"212":{"position":[[20,10],[186,9],[301,10],[341,9]]}}}],["compose",{"_index":1648,"t":{"206":{"position":[[56,7]]},"208":{"position":[[44,7],[132,7],[159,7],[179,8]]},"210":{"position":[[79,7],[109,7],[127,7],[172,7],[199,7],[219,8]]}}}],["compose.yml",{"_index":1652,"t":{"208":{"position":[[20,12],[91,11]]}}}],["compress/2174925f24362c479b2.jpg",{"_index":1565,"t":{"172":{"position":[[795,33]]}}}],["compression",{"_index":1719,"t":{"255":{"position":[[279,11]]}}}],["compute",{"_index":1797,"t":{"259":{"position":[[2157,7],[2538,7]]},"261":{"position":[[2436,7]]},"273":{"position":[[239,7],[505,7],[551,7],[1193,7]]},"277":{"position":[[952,7]]}}}],["computed",{"_index":1911,"t":{"261":{"position":[[2983,8]]},"267":{"position":[[442,8]]},"273":{"position":[[353,8]]}}}],["computer",{"_index":34,"t":{"3":{"position":[[446,8],[564,8]]},"5":{"position":[[419,8],[537,8]]},"13":{"position":[[3646,8]]},"22":{"position":[[32,9]]},"26":{"position":[[982,8],[1191,8]]},"82":{"position":[[63,8]]},"84":{"position":[[30,8],[200,8]]},"86":{"position":[[14,8]]},"88":{"position":[[26,8]]},"90":{"position":[[14,8],[196,8]]},"92":{"position":[[14,8]]},"94":{"position":[[55,8]]},"97":{"position":[[16,8]]},"99":{"position":[[343,8]]},"137":{"position":[[1876,8]]},"198":{"position":[[72,9]]},"200":{"position":[[26,8]]},"309":{"position":[[245,8]]}}}],["computer's",{"_index":1222,"t":{"120":{"position":[[269,10]]}}}],["computing",{"_index":583,"t":{"26":{"position":[[839,9]]},"101":{"position":[[123,10]]},"271":{"position":[[542,9]]},"273":{"position":[[949,9]]}}}],["conceptualize",{"_index":1867,"t":{"261":{"position":[[1799,13]]}}}],["concurrently",{"_index":201,"t":{"11":{"position":[[392,12]]}}}],["condition",{"_index":1921,"t":{"261":{"position":[[3160,9]]}}}],["condition\\texttt{condition}condition",{"_index":1927,"t":{"261":{"position":[[3284,36]]}}}],["conditional",{"_index":2216,"t":{"275":{"position":[[354,11]]},"287":{"position":[[684,11]]}}}],["conditions",{"_index":351,"t":{"13":{"position":[[898,11]]}}}],["conference",{"_index":2366,"t":{"283":{"position":[[249,10]]}}}],["confidence",{"_index":239,"t":{"11":{"position":[[1240,10],[1622,10]]},"15":{"position":[[733,10]]},"26":{"position":[[345,10],[455,10]]},"72":{"position":[[564,10],[662,10],[791,10],[1319,10],[1469,10],[1530,10],[1617,10],[1908,10],[2235,10],[2294,10]]},"99":{"position":[[142,11],[641,11]]},"134":{"position":[[673,11]]},"143":{"position":[[1564,10]]},"172":{"position":[[497,10]]},"259":{"position":[[1470,10],[2044,10],[2183,10],[2704,10],[2793,10],[3025,10]]},"261":{"position":[[26,10],[115,10],[2118,10]]},"267":{"position":[[258,10],[375,10],[701,10],[742,10]]},"269":{"position":[[81,10],[166,10],[543,10],[652,10],[682,10],[1093,10],[1249,10],[1475,10],[1944,10],[2748,10]]},"271":{"position":[[835,10]]},"273":{"position":[[89,10],[208,10],[272,10],[330,10],[428,10],[527,10],[581,10],[767,10],[859,10],[1002,10],[1089,10],[1209,10]]},"277":{"position":[[870,10]]},"279":{"position":[[768,10],[1654,10]]},"281":{"position":[[266,10],[405,10]]},"287":{"position":[[33,10],[111,10],[343,10]]}}}],["confidence_threshold=0.8",{"_index":1453,"t":{"143":{"position":[[1599,25]]}}}],["confidence_threshold=0.95",{"_index":976,"t":{"72":{"position":[[1232,26]]}}}],["confidence_threshold=confidence",{"_index":1325,"t":{"134":{"position":[[1205,32]]}}}],["confident",{"_index":256,"t":{"11":{"position":[[1771,9],[1851,9],[2019,9]]},"40":{"position":[[1125,9]]},"72":{"position":[[875,9]]}}}],["configuration",{"_index":1635,"t":{"198":{"position":[[86,13]]}}}],["configure",{"_index":563,"t":{"26":{"position":[[274,10]]},"30":{"position":[[332,9]]},"32":{"position":[[3,9]]},"194":{"position":[[449,9],[702,9]]},"202":{"position":[[114,9],[285,9]]}}}],["configured",{"_index":631,"t":{"30":{"position":[[676,10]]}}}],["configuring",{"_index":571,"t":{"26":{"position":[[431,11]]}}}],["confirm",{"_index":1205,"t":{"118":{"position":[[94,7]]}}}],["conflicts",{"_index":1725,"t":{"257":{"position":[[129,9]]}}}],["confusing",{"_index":2388,"t":{"287":{"position":[[68,10]]}}}],["connected",{"_index":1230,"t":{"122":{"position":[[69,9]]},"137":{"position":[[1861,9]]},"139":{"position":[[69,9]]},"200":{"position":[[10,9]]}}}],["consequently",{"_index":1854,"t":{"261":{"position":[[1314,13]]},"265":{"position":[[3411,13]]}}}],["consider",{"_index":236,"t":{"11":{"position":[[1195,8]]},"50":{"position":[[0,8]]},"261":{"position":[[422,8]]},"265":{"position":[[208,8]]},"315":{"position":[[239,8]]}}}],["considered",{"_index":234,"t":{"11":{"position":[[1143,10]]},"153":{"position":[[114,10]]}}}],["considering",{"_index":2048,"t":{"265":{"position":[[664,11]]}}}],["consist",{"_index":1143,"t":{"106":{"position":[[228,7]]}}}],["consists",{"_index":1836,"t":{"261":{"position":[[546,8],[1578,8]]}}}],["constrained",{"_index":1714,"t":{"255":{"position":[[27,12],[394,11]]}}}],["construct",{"_index":1826,"t":{"259":{"position":[[3015,9]]},"261":{"position":[[16,9],[105,9],[2106,9]]},"267":{"position":[[229,9]]},"271":{"position":[[69,9]]}}}],["constructing",{"_index":1794,"t":{"259":{"position":[[2031,12]]}}}],["construction",{"_index":2270,"t":{"277":{"position":[[1776,13]]},"287":{"position":[[83,12]]}}}],["constructor",{"_index":636,"t":{"32":{"position":[[115,11]]},"110":{"position":[[504,11],[596,12]]}}}],["contain",{"_index":2288,"t":{"277":{"position":[[2943,7]]},"279":{"position":[[97,7]]}}}],["container",{"_index":1010,"t":{"76":{"position":[[108,9]]}}}],["containers",{"_index":609,"t":{"30":{"position":[[42,10]]}}}],["contains",{"_index":768,"t":{"44":{"position":[[456,8],[546,8]]}}}],["content",{"_index":1505,"t":{"149":{"position":[[105,8]]}}}],["content/uploads/2010/11/over_flowing_garbage_can.jpg",{"_index":971,"t":{"72":{"position":[[1041,53]]}}}],["context",{"_index":199,"t":{"11":{"position":[[313,7]]},"52":{"position":[[93,7]]},"157":{"position":[[72,8]]}}}],["continue",{"_index":1462,"t":{"143":{"position":[[1824,8],[1922,8],[2089,8]]}}}],["contrast",{"_index":2068,"t":{"265":{"position":[[1822,9]]}}}],["control",{"_index":566,"t":{"26":{"position":[[378,7]]},"72":{"position":[[38,7]]},"84":{"position":[[344,8]]},"90":{"position":[[252,8]]},"92":{"position":[[367,7]]},"108":{"position":[[219,7]]},"269":{"position":[[963,7]]}}}],["converged",{"_index":2170,"t":{"269":{"position":[[2952,9]]}}}],["converges",{"_index":2301,"t":{"279":{"position":[[505,9]]}}}],["conversion",{"_index":1722,"t":{"255":{"position":[[432,10]]}}}],["convert",{"_index":922,"t":{"68":{"position":[[726,7]]},"126":{"position":[[427,7]]},"143":{"position":[[540,7]]},"255":{"position":[[190,7]]}}}],["convey",{"_index":1515,"t":{"151":{"position":[[372,8]]},"259":{"position":[[2285,6]]},"281":{"position":[[290,6]]}}}],["conveyor",{"_index":1500,"t":{"146":{"position":[[312,8]]}}}],["copy",{"_index":355,"t":{"13":{"position":[[996,4]]},"114":{"position":[[211,4],[326,4]]}}}],["copy.copy(self.state",{"_index":372,"t":{"13":{"position":[[1298,21]]}}}],["core",{"_index":423,"t":{"13":{"position":[[3455,4]]}}}],["cornerstone",{"_index":309,"t":{"13":{"position":[[70,11]]}}}],["correct",{"_index":427,"t":{"13":{"position":[[3511,8]]},"15":{"position":[[1051,7]]},"259":{"position":[[1823,8]]},"261":{"position":[[296,8]]},"263":{"position":[[393,8]]},"269":{"position":[[1816,7]]},"271":{"position":[[128,7]]},"273":{"position":[[1134,7],[1285,7]]}}}],["correctly",{"_index":1872,"t":{"261":{"position":[[1968,9],[2239,9],[2898,9],[3416,9]]},"265":{"position":[[140,9],[436,9]]},"269":{"position":[[1359,9],[2802,9]]},"271":{"position":[[701,9]]},"277":{"position":[[337,9],[421,9]]}}}],["correctness",{"_index":1730,"t":{"259":{"position":[[58,11]]}}}],["corresponding",{"_index":1575,"t":{"176":{"position":[[76,13]]}}}],["corresponds",{"_index":1943,"t":{"261":{"position":[[3673,11]]},"263":{"position":[[283,11],[344,11]]},"265":{"position":[[894,11]]},"285":{"position":[[585,11]]}}}],["cost",{"_index":479,"t":{"17":{"position":[[378,4]]},"28":{"position":[[176,5]]},"78":{"position":[[166,4]]}}}],["costs",{"_index":989,"t":{"72":{"position":[[1677,6]]}}}],["couch",{"_index":1214,"t":{"120":{"position":[[99,6],[206,6],[325,6]]},"122":{"position":[[140,5]]},"126":{"position":[[1039,5],[1247,8],[1604,6]]}}}],["counter",{"_index":1349,"t":{"137":{"position":[[127,7],[392,7],[608,8],[1151,7],[1370,7],[1477,7],[1792,8],[1989,7]]},"143":{"position":[[1515,10],[2482,7],[2840,7],[3068,8]]}}}],["counter's",{"_index":1489,"t":{"143":{"position":[[3135,9]]}}}],["couple",{"_index":1170,"t":{"110":{"position":[[12,6]]}}}],["coverage",{"_index":2127,"t":{"269":{"position":[[950,9],[975,8]]},"273":{"position":[[683,8],[1037,8]]},"277":{"position":[[1591,8],[2321,9]]},"281":{"position":[[518,9]]}}}],["covered",{"_index":2385,"t":{"285":{"position":[[665,7]]}}}],["covers",{"_index":741,"t":{"42":{"position":[[113,6]]}}}],["create",{"_index":534,"t":{"22":{"position":[[184,6]]},"26":{"position":[[266,7]]},"58":{"position":[[223,6]]},"66":{"position":[[281,6]]},"78":{"position":[[193,6]]},"103":{"position":[[154,6],[316,6]]},"114":{"position":[[82,7],[195,7]]},"126":{"position":[[47,6]]},"134":{"position":[[416,6]]},"143":{"position":[[47,6]]},"162":{"position":[[153,6]]},"212":{"position":[[162,6],[293,7]]},"214":{"position":[[82,6]]}}}],["create_detector(name",{"_index":1543,"t":{"162":{"position":[[264,21]]}}}],["created",{"_index":303,"t":{"11":{"position":[[3078,7]]},"13":{"position":[[1665,7],[2561,7],[3058,7]]},"162":{"position":[[122,7]]}}}],["creates",{"_index":1352,"t":{"137":{"position":[[184,7]]}}}],["creating",{"_index":816,"t":{"50":{"position":[[9,8]]},"116":{"position":[[156,8]]},"120":{"position":[[143,8]]},"162":{"position":[[219,8]]},"212":{"position":[[7,8]]}}}],["creation",{"_index":916,"t":{"68":{"position":[[299,10]]}}}],["credible",{"_index":2391,"t":{"287":{"position":[[732,8],[804,8]]}}}],["crowded",{"_index":1397,"t":{"137":{"position":[[1531,7]]}}}],["crucial",{"_index":326,"t":{"13":{"position":[[455,7]]}}}],["cumulative",{"_index":2009,"t":{"263":{"position":[[777,10],[1495,10]]}}}],["cup_{i=1}^n",{"_index":2378,"t":{"285":{"position":[[268,12]]}}}],["curl",{"_index":1625,"t":{"194":{"position":[[442,4],[609,4]]}}}],["current",{"_index":280,"t":{"11":{"position":[[2291,7]]},"13":{"position":[[147,7]]},"116":{"position":[[51,7]]},"309":{"position":[[493,7]]}}}],["current_hour",{"_index":1446,"t":{"143":{"position":[[1266,12],[1329,12],[2540,12],[2578,12]]}}}],["current_time",{"_index":1469,"t":{"143":{"position":[[2275,12]]}}}],["current_time.strftime(\"%i%p",{"_index":1473,"t":{"143":{"position":[[2374,29]]}}}],["currently",{"_index":399,"t":{"13":{"position":[[2124,9],[2835,9]]},"17":{"position":[[146,10]]}}}],["curve",{"_index":2028,"t":{"263":{"position":[[1336,7],[1777,6]]}}}],["custom",{"_index":123,"t":{"9":{"position":[[162,6]]},"50":{"position":[[18,6]]},"202":{"position":[[142,6]]}}}],["customer",{"_index":1356,"t":{"137":{"position":[[260,9],[844,8],[1047,8],[1415,8],[1568,8],[1614,8],[2103,8]]},"143":{"position":[[1491,8],[3040,8]]},"259":{"position":[[1753,9],[1766,8]]}}}],["customers",{"_index":1350,"t":{"137":{"position":[[138,9],[769,10],[1125,9],[1339,9]]},"259":{"position":[[175,9],[432,9]]},"281":{"position":[[92,10]]}}}],["customize",{"_index":1417,"t":{"143":{"position":[[710,9]]}}}],["cutting",{"_index":1035,"t":{"84":{"position":[[187,7]]}}}],["cv2",{"_index":679,"t":{"36":{"position":[[951,3]]},"64":{"position":[[322,3]]},"126":{"position":[[175,3]]},"143":{"position":[[175,3]]}}}],["cv2.color_bgr2rgb",{"_index":1248,"t":{"126":{"position":[[491,19]]},"143":{"position":[[604,19]]}}}],["cv2.videocapture(0",{"_index":684,"t":{"36":{"position":[[1068,19]]},"64":{"position":[[332,19]]},"126":{"position":[[359,19]]},"143":{"position":[[472,19]]}}}],["d",{"_index":753,"t":{"44":{"position":[[228,1]]},"72":{"position":[[1156,1]]},"172":{"position":[[670,1]]},"261":{"position":[[2353,3]]},"275":{"position":[[398,3],[462,3],[499,1],[606,2],[643,1],[873,4],[1002,2]]}}}],["d(x,y)∼d",{"_index":1864,"t":{"261":{"position":[[1736,8]]}}}],["d(xi​,yi​)∼d",{"_index":1906,"t":{"261":{"position":[[2814,12]]}}}],["d+d^+d",{"_index":2217,"t":{"275":{"position":[[381,7]]}}}],["daemon",{"_index":1666,"t":{"212":{"position":[[154,7]]}}}],["daily",{"_index":1362,"t":{"137":{"position":[[448,5],[2009,5]]},"139":{"position":[[132,5]]},"143":{"position":[[672,5],[2651,6],[3204,5]]}}}],["daily_log",{"_index":1455,"t":{"143":{"position":[[1645,9],[2618,9],[2681,10],[2880,9]]}}}],["daily_log.append(msg",{"_index":1478,"t":{"143":{"position":[[2509,21]]}}}],["daily_summary",{"_index":1479,"t":{"143":{"position":[[2635,13],[2692,13]]}}}],["dashboard",{"_index":628,"t":{"30":{"position":[[646,9]]},"103":{"position":[[141,9]]},"112":{"position":[[52,9]]},"126":{"position":[[33,9]]},"134":{"position":[[402,9]]},"143":{"position":[[33,9]]}}}],["data",{"_index":203,"t":{"11":{"position":[[443,4],[2813,4],[3020,4]]},"66":{"position":[[212,4]]},"72":{"position":[[2016,4]]},"99":{"position":[[103,5]]},"126":{"position":[[805,4],[839,5],[864,4]]},"137":{"position":[[1269,4]]}}}],["database",{"_index":674,"t":{"36":{"position":[[735,9],[831,8],[1351,8]]},"38":{"position":[[415,8]]}}}],["dataset",{"_index":1119,"t":{"99":{"position":[[446,8]]},"172":{"position":[[160,8]]}}}],["date",{"_index":1202,"t":{"116":{"position":[[250,4]]}}}],["datetime",{"_index":1411,"t":{"143":{"position":[[257,8],[273,9]]}}}],["datetime.now",{"_index":1464,"t":{"143":{"position":[[2145,14]]}}}],["datetime.now().hour",{"_index":1447,"t":{"143":{"position":[[1281,19],[2555,19]]}}}],["datetime.now().replace(hour=start_of_business",{"_index":1470,"t":{"143":{"position":[[2290,46]]}}}],["datetime.now().replace(minute=0",{"_index":1457,"t":{"143":{"position":[[1680,32]]}}}],["day",{"_index":28,"t":{"3":{"position":[[367,4]]},"5":{"position":[[340,4]]},"137":{"position":[[163,4],[429,4],[891,3]]},"143":{"position":[[3185,4]]},"261":{"position":[[758,3]]}}}],["days",{"_index":1371,"t":{"137":{"position":[[907,4]]}}}],["daytime",{"_index":1833,"t":{"261":{"position":[[477,7],[565,7]]}}}],["db.get_next_image_query_id",{"_index":708,"t":{"38":{"position":[[428,28],[666,28],[1219,28]]}}}],["db.save(image_query.id",{"_index":678,"t":{"36":{"position":[[883,24],[1296,23]]}}}],["ddd",{"_index":1856,"t":{"261":{"position":[[1553,4],[1574,3],[1791,4],[2282,4],[2460,3],[2642,4],[3659,4],[4522,4]]},"265":{"position":[[383,3],[2105,3]]},"275":{"position":[[330,3]]}}}],["debian",{"_index":1603,"t":{"192":{"position":[[92,6]]}}}],["debug",{"_index":825,"t":{"52":{"position":[[133,5]]}}}],["debugging",{"_index":765,"t":{"44":{"position":[[413,9]]},"48":{"position":[[150,9]]}}}],["decades",{"_index":911,"t":{"68":{"position":[[173,7]]}}}],["decide",{"_index":487,"t":{"17":{"position":[[550,6]]}}}],["decided",{"_index":2117,"t":{"269":{"position":[[434,7]]}}}],["decides",{"_index":285,"t":{"11":{"position":[[2501,7]]}}}],["decision",{"_index":1950,"t":{"261":{"position":[[3884,8]]}}}],["decisions",{"_index":1389,"t":{"137":{"position":[[1281,9],[2061,9]]}}}],["decompose",{"_index":2215,"t":{"275":{"position":[[320,9]]}}}],["def",{"_index":362,"t":{"13":{"position":[[1098,3],[1166,3],[1246,3]]},"126":{"position":[[332,3],[579,3]]},"134":{"position":[[593,3]]},"143":{"position":[[445,3],[766,3],[1234,3]]},"269":{"position":[[2672,3],[2848,3],[2886,3]]}}}],["default",{"_index":687,"t":{"36":{"position":[[1118,7]]},"56":{"position":[[202,7]]},"64":{"position":[[382,7]]},"194":{"position":[[38,8],[489,7]]},"253":{"position":[[199,7]]},"257":{"position":[[51,8]]}}}],["defaults",{"_index":1546,"t":{"166":{"position":[[57,8]]},"170":{"position":[[57,8]]}}}],["defeating",{"_index":525,"t":{"19":{"position":[[520,9]]}}}],["defects",{"_index":1078,"t":{"90":{"position":[[153,7]]}}}],["define",{"_index":1241,"t":{"126":{"position":[[264,6],[529,6]]},"143":{"position":[[377,6],[642,6],[1120,6]]},"261":{"position":[[339,6],[2185,6]]},"275":{"position":[[179,6],[243,6]]}}}],["defined",{"_index":2003,"t":{"263":{"position":[[668,7],[1077,7]]},"269":{"position":[[1503,7]]},"271":{"position":[[863,7]]},"275":{"position":[[743,7],[1105,7]]}}}],["definition",{"_index":2134,"t":{"269":{"position":[[1229,10],[1425,11],[1867,10],[2125,10]]},"271":{"position":[[785,11]]}}}],["definitions",{"_index":2236,"t":{"277":{"position":[[15,11]]},"313":{"position":[[153,12]]}}}],["degrade",{"_index":1707,"t":{"251":{"position":[[336,8]]}}}],["degree",{"_index":1792,"t":{"259":{"position":[[1998,6]]}}}],["delay",{"_index":1454,"t":{"143":{"position":[[1625,5]]}}}],["delayed",{"_index":956,"t":{"72":{"position":[[408,7]]}}}],["delete",{"_index":1204,"t":{"118":{"position":[[59,8]]}}}],["delta",{"_index":2130,"t":{"269":{"position":[[1010,9],[1037,8],[1072,8],[1157,9],[1172,8],[1272,8],[1449,10],[1560,7],[1604,6],[1728,8],[2081,8],[2401,8],[2703,7],[2734,7],[3013,6]]},"271":{"position":[[625,8],[809,10],[930,7],[982,6]]},"273":{"position":[[311,10]]},"277":{"position":[[859,10],[1494,5],[1611,9],[1691,5],[2280,9]]}}}],["delta/4",{"_index":2255,"t":{"277":{"position":[[1078,9],[1319,9]]}}}],["delta/4)acc+​(h)=p​(n+,k+,δ/4",{"_index":2257,"t":{"277":{"position":[[1159,31]]}}}],["delta/4)acc−​(h)=p​(n−,k−,δ/4",{"_index":2260,"t":{"277":{"position":[[1400,31]]}}}],["delta4⋅(δ/4",{"_index":2279,"t":{"277":{"position":[[2196,16]]}}}],["deltafn,p​(k",{"_index":2152,"t":{"269":{"position":[[2315,17]]}}}],["deltaδ/2",{"_index":2201,"t":{"273":{"position":[[464,13],[612,10]]}}}],["demonstrates",{"_index":118,"t":{"9":{"position":[[19,12]]},"80":{"position":[[90,12]]},"137":{"position":[[13,12]]}}}],["denote",{"_index":1865,"t":{"261":{"position":[[1745,6]]},"277":{"position":[[174,6],[228,6],[282,6],[366,6],[568,6]]}}}],["density",{"_index":2010,"t":{"263":{"position":[[788,7]]}}}],["depected",{"_index":1644,"t":{"202":{"position":[[249,9]]}}}],["dependent",{"_index":1726,"t":{"257":{"position":[[150,9]]},"261":{"position":[[866,10]]}}}],["depicts",{"_index":1936,"t":{"261":{"position":[[3498,7]]}}}],["deploy",{"_index":127,"t":{"9":{"position":[[212,6]]},"26":{"position":[[812,6]]},"198":{"position":[[27,6]]},"202":{"position":[[55,6]]},"206":{"position":[[26,6]]},"212":{"position":[[318,8],[330,6]]},"309":{"position":[[56,6],[123,6]]}}}],["deployed",{"_index":649,"t":{"34":{"position":[[288,8]]},"311":{"position":[[62,8]]}}}],["deployment",{"_index":53,"t":{"3":{"position":[[687,10]]},"5":{"position":[[660,10]]},"9":{"position":[[116,10],[1504,10]]},"307":{"position":[[40,10]]}}}],["depth",{"_index":552,"t":{"26":{"position":[[12,5]]}}}],["derivation",{"_index":2392,"t":{"287":{"position":[[790,10]]}}}],["derive",{"_index":2112,"t":{"269":{"position":[[62,6]]},"273":{"position":[[24,6],[139,6]]}}}],["derived",{"_index":2292,"t":{"279":{"position":[[33,7]]},"281":{"position":[[734,8]]}}}],["described",{"_index":152,"t":{"9":{"position":[[847,9]]},"192":{"position":[[375,9]]},"232":{"position":[[233,9]]},"269":{"position":[[30,9]]},"303":{"position":[[178,9]]}}}],["describes",{"_index":1807,"t":{"259":{"position":[[2498,9]]}}}],["description",{"_index":770,"t":{"44":{"position":[[475,11]]}}}],["descriptive",{"_index":1190,"t":{"114":{"position":[[134,11]]},"116":{"position":[[121,11]]}}}],["design",{"_index":44,"t":{"3":{"position":[[584,6],[660,6]]},"5":{"position":[[557,6],[633,6]]}}}],["designed",{"_index":72,"t":{"7":{"position":[[52,8]]},"309":{"position":[[13,8]]}}}],["desire",{"_index":2264,"t":{"277":{"position":[[1572,6]]},"287":{"position":[[672,6]]}}}],["desired",{"_index":572,"t":{"26":{"position":[[447,7]]},"72":{"position":[[556,7],[783,7],[1900,7]]},"277":{"position":[[2304,7]]},"279":{"position":[[127,7]]}}}],["desk",{"_index":1353,"t":{"137":{"position":[[232,4]]}}}],["despite",{"_index":842,"t":{"56":{"position":[[109,7]]}}}],["det",{"_index":863,"t":{"62":{"position":[[170,3]]},"97":{"position":[[125,3]]},"103":{"position":[[402,3]]}}}],["detail",{"_index":325,"t":{"13":{"position":[[445,6]]}}}],["detailed",{"_index":546,"t":{"22":{"position":[[396,8]]},"281":{"position":[[357,8]]}}}],["details",{"_index":1753,"t":{"259":{"position":[[695,7],[1395,7],[2364,7]]}}}],["detect",{"_index":938,"t":{"68":{"position":[[1119,6]]}}}],["detected",{"_index":1218,"t":{"120":{"position":[[190,8]]},"126":{"position":[[1231,8],[1588,8]]},"143":{"position":[[3052,8]]}}}],["detection",{"_index":468,"t":{"17":{"position":[[76,9],[503,10]]},"22":{"position":[[246,9]]}}}],["detector",{"_index":58,"t":{"3":{"position":[[740,8]]},"5":{"position":[[713,8]]},"11":{"position":[[826,8],[1540,8]]},"36":{"position":[[978,8]]},"38":{"position":[[565,8]]},"40":{"position":[[526,8]]},"72":{"position":[[624,9]]},"78":{"position":[[116,8]]},"126":{"position":[[994,8],[1045,10]]},"134":{"position":[[836,8],[1014,8],[1135,8],[1867,8]]},"137":{"position":[[194,8],[284,8]]},"143":{"position":[[1412,8]]},"146":{"position":[[202,8]]},"162":{"position":[[98,8],[234,8],[365,8]]},"164":{"position":[[55,8]]},"259":{"position":[[148,8],[1377,8]]},"307":{"position":[[56,8]]},"309":{"position":[[80,8],[135,8],[311,8]]},"311":{"position":[[71,9]]}}}],["detector's",{"_index":226,"t":{"11":{"position":[[1023,10]]},"259":{"position":[[722,10],[1887,10],[2243,10],[2344,10]]}}}],["detector(s",{"_index":1645,"t":{"202":{"position":[[300,12]]}}}],["detector=detector",{"_index":1269,"t":{"126":{"position":[[1147,18]]},"143":{"position":[[1976,18]]}}}],["detector_name",{"_index":1311,"t":{"134":{"position":[[627,14],[973,14]]}}}],["detectors",{"_index":134,"t":{"9":{"position":[[448,9],[509,9]]},"26":{"position":[[242,10],[293,9],[481,10]]},"128":{"position":[[42,9]]},"146":{"position":[[19,10]]},"166":{"position":[[89,9],[166,9]]},"198":{"position":[[51,9]]},"202":{"position":[[99,10]]},"259":{"position":[[94,10]]},"281":{"position":[[153,9]]}}}],["detects",{"_index":1705,"t":{"251":{"position":[[224,7]]}}}],["determination",{"_index":526,"t":{"19":{"position":[[530,14]]}}}],["determine",{"_index":373,"t":{"13":{"position":[[1355,9],[1585,9]]}}}],["determines",{"_index":293,"t":{"11":{"position":[[2727,10]]},"72":{"position":[[639,10]]}}}],["determining",{"_index":390,"t":{"13":{"position":[[1710,11],[1769,11],[2595,11],[2669,11],[3092,11]]},"263":{"position":[[33,11],[147,11]]},"265":{"position":[[232,11]]}}}],["dev",{"_index":1685,"t":{"216":{"position":[[159,3]]}}}],["developed",{"_index":71,"t":{"7":{"position":[[18,10]]},"68":{"position":[[163,9]]}}}],["developing",{"_index":38,"t":{"3":{"position":[[484,10]]},"5":{"position":[[457,10]]}}}],["development",{"_index":1638,"t":{"198":{"position":[[150,11]]}}}],["deviation",{"_index":2311,"t":{"279":{"position":[[758,9],[1340,10]]}}}],["device",{"_index":610,"t":{"30":{"position":[[65,8],[84,6],[115,7]]},"176":{"position":[[199,6]]},"202":{"position":[[345,6]]},"212":{"position":[[87,6]]},"309":{"position":[[436,7]]}}}],["devices",{"_index":600,"t":{"28":{"position":[[90,8]]},"92":{"position":[[291,7]]},"236":{"position":[[70,8]]},"251":{"position":[[54,8]]}}}],["diagram",{"_index":302,"t":{"11":{"position":[[3070,7],[3116,7]]},"13":{"position":[[563,7],[1657,7],[2553,7],[3050,7]]}}}],["difference",{"_index":926,"t":{"68":{"position":[[814,10],[1080,10]]}}}],["different",{"_index":142,"t":{"9":{"position":[[706,9]]},"44":{"position":[[97,9]]},"70":{"position":[[32,9],[265,9]]},"155":{"position":[[37,9],[63,9]]},"210":{"position":[[20,9],[62,9]]},"259":{"position":[[197,9]]},"267":{"position":[[397,9]]}}}],["differentiate",{"_index":818,"t":{"50":{"position":[[99,13]]}}}],["differently",{"_index":2071,"t":{"265":{"position":[[2036,12]]}}}],["difficult",{"_index":812,"t":{"48":{"position":[[160,9]]}}}],["directly",{"_index":860,"t":{"62":{"position":[[42,8]]},"64":{"position":[[272,8]]},"108":{"position":[[61,8]]},"110":{"position":[[568,8]]},"172":{"position":[[415,9]]},"257":{"position":[[209,9]]},"269":{"position":[[2355,8]]}}}],["directory",{"_index":1340,"t":{"134":{"position":[[1766,9]]},"208":{"position":[[67,9]]},"214":{"position":[[196,9]]}}}],["dirty",{"_index":7,"t":{"3":{"position":[[106,5]]},"5":{"position":[[79,5]]},"7":{"position":[[298,5]]},"13":{"position":[[2138,5],[2242,5],[2398,5],[2614,5]]},"15":{"position":[[362,5]]}}}],["discord",{"_index":95,"t":{"7":{"position":[[406,7],[682,7],[859,7]]},"9":{"position":[[1124,7],[1192,7],[1235,7],[1251,7]]},"11":{"position":[[559,7],[2669,7],[2855,7],[2893,7],[3054,7]]},"13":{"position":[[2048,7],[2772,7]]},"15":{"position":[[28,7],[71,7],[108,7],[433,7]]}}}],["discord’s",{"_index":444,"t":{"15":{"position":[[693,9]]}}}],["discover",{"_index":582,"t":{"26":{"position":[[796,8]]}}}],["discussing",{"_index":2115,"t":{"269":{"position":[[155,10]]}}}],["discussion",{"_index":2178,"t":{"271":{"position":[[22,10]]}}}],["dish",{"_index":228,"t":{"11":{"position":[[1066,4]]},"13":{"position":[[2404,4]]},"19":{"position":[[515,4]]}}}],["dishes",{"_index":8,"t":{"3":{"position":[[112,6],[881,6]]},"5":{"position":[[85,6],[854,6]]},"7":{"position":[[113,6],[304,6],[502,6],[794,7]]},"11":{"position":[[1154,7]]},"13":{"position":[[2144,6],[2248,6],[2436,6],[2620,6],[2845,6],[3026,6]]},"15":{"position":[[398,7],[953,6]]}}}],["display",{"_index":1588,"t":{"186":{"position":[[52,7]]},"226":{"position":[[52,7]]},"259":{"position":[[1986,7],[2169,7]]},"281":{"position":[[686,8]]},"297":{"position":[[52,7]]}}}],["displaying",{"_index":843,"t":{"56":{"position":[[144,10]]},"259":{"position":[[1522,10]]}}}],["displays",{"_index":1754,"t":{"259":{"position":[[708,8],[2377,8]]}}}],["distribution",{"_index":1812,"t":{"259":{"position":[[2592,13],[2747,13]]},"261":{"position":[[951,12],[1037,12],[1371,12],[1449,12],[1502,12],[3633,12],[4249,13],[4496,12]]},"263":{"position":[[425,12],[1249,12]]},"265":{"position":[[812,12]]},"279":{"position":[[262,13],[391,12],[437,12],[527,12],[1084,12],[1130,12]]},"283":{"position":[[197,13]]}}}],["distribution's",{"_index":1600,"t":{"192":{"position":[[9,14]]}}}],["distributions",{"_index":2035,"t":{"263":{"position":[[1813,13]]},"275":{"position":[[262,13],[366,14],[796,14]]}}}],["distutils",{"_index":1624,"t":{"194":{"position":[[432,9]]}}}],["dlp",{"_index":1294,"t":{"132":{"position":[[223,3]]},"134":{"position":[[85,3]]}}}],["dnf",{"_index":1607,"t":{"192":{"position":[[221,3]]}}}],["docker",{"_index":608,"t":{"30":{"position":[[35,6]]},"76":{"position":[[101,6],[203,6],[228,6]]},"206":{"position":[[49,6]]},"208":{"position":[[13,6],[37,6],[84,6],[125,6],[152,6],[172,6]]},"210":{"position":[[72,6],[102,6],[120,6],[165,6],[192,6],[212,6]]},"212":{"position":[[52,6],[147,6]]},"244":{"position":[[12,6],[74,6],[165,6]]},"325":{"position":[[12,6],[73,6],[164,6]]}}}],["docs/static/img/doorway.jpg",{"_index":1104,"t":{"97":{"position":[[209,31]]},"103":{"position":[[486,31]]}}}],["document",{"_index":1215,"t":{"120":{"position":[[111,8]]}}}],["documentation",{"_index":446,"t":{"15":{"position":[[710,13]]},"36":{"position":[[174,13]]},"40":{"position":[[448,13]]},"196":{"position":[[159,13]]},"234":{"position":[[159,13]]},"305":{"position":[[159,13]]},"329":{"position":[[159,13]]}}}],["doesn't",{"_index":1540,"t":{"162":{"position":[[176,7]]},"263":{"position":[[1739,7]]},"265":{"position":[[1702,7]]}}}],["dog",{"_index":1213,"t":{"120":{"position":[[87,3],[183,3],[306,3],[378,3]]},"122":{"position":[[152,3]]},"126":{"position":[[1581,3]]}}}],["dog_on_couch_detector.py",{"_index":1278,"t":{"126":{"position":[[1693,24],[1737,24]]}}}],["doing",{"_index":437,"t":{"15":{"position":[[388,5]]},"269":{"position":[[612,5]]}}}],["domain.com/wp",{"_index":970,"t":{"72":{"position":[[1027,13]]}}}],["don't",{"_index":1176,"t":{"110":{"position":[[339,5]]},"157":{"position":[[47,5]]},"255":{"position":[[474,5],[520,5]]},"287":{"position":[[639,5]]},"309":{"position":[[451,5]]}}}],["done",{"_index":435,"t":{"15":{"position":[[182,5]]},"36":{"position":[[724,4]]},"198":{"position":[[103,4]]},"255":{"position":[[446,4]]},"269":{"position":[[2563,4]]}}}],["door",{"_index":1023,"t":{"80":{"position":[[56,4],[138,4],[183,4],[220,4]]}}}],["doorway",{"_index":1102,"t":{"97":{"position":[[187,7]]},"103":{"position":[[464,7]]},"172":{"position":[[730,7]]}}}],["dot",{"_index":1942,"t":{"261":{"position":[[3669,3]]}}}],["dot's",{"_index":1948,"t":{"261":{"position":[[3762,5]]}}}],["dotted",{"_index":1949,"t":{"261":{"position":[[3848,6]]}}}],["down",{"_index":138,"t":{"9":{"position":[[635,4]]},"11":{"position":[[609,4]]},"13":{"position":[[1413,4]]}}}],["download",{"_index":598,"t":{"28":{"position":[[51,8]]},"134":{"position":[[142,8]]},"194":{"position":[[581,8]]},"232":{"position":[[0,8]]},"303":{"position":[[0,8]]}}}],["downloading",{"_index":617,"t":{"30":{"position":[[205,11]]}}}],["drawn",{"_index":1882,"t":{"261":{"position":[[2271,5],[2624,5]]}}}],["drifts",{"_index":1840,"t":{"261":{"position":[[729,6]]}}}],["driven",{"_index":1388,"t":{"137":{"position":[[1274,6]]}}}],["due",{"_index":788,"t":{"44":{"position":[[812,3]]},"172":{"position":[[483,3]]},"273":{"position":[[1046,3]]}}}],["during",{"_index":739,"t":{"42":{"position":[[85,6]]},"44":{"position":[[26,6]]},"80":{"position":[[252,6]]},"137":{"position":[[723,6]]}}}],["d−d",{"_index":2218,"t":{"275":{"position":[[393,4]]}}}],["e",{"_index":763,"t":{"44":{"position":[[386,2]]},"126":{"position":[[1308,2],[1349,5]]},"143":{"position":[[2024,2],[2065,5]]}}}],["e.g",{"_index":176,"t":{"9":{"position":[[1332,5]]},"15":{"position":[[339,5]]},"52":{"position":[[43,6]]},"122":{"position":[[112,6]]},"143":{"position":[[1193,4],[1225,4]]},"190":{"position":[[140,6]]},"230":{"position":[[140,6]]},"301":{"position":[[146,6]]}}}],["e.reason",{"_index":767,"t":{"44":{"position":[[447,8],[522,12]]}}}],["e.status",{"_index":773,"t":{"44":{"position":[[537,8],[602,12]]}}}],["e_{(x,y",{"_index":2227,"t":{"275":{"position":[[859,8],[988,8]]}}}],["each",{"_index":140,"t":{"9":{"position":[[688,4]]},"11":{"position":[[124,4],[1942,4]]},"13":{"position":[[1630,4],[1784,4]]},"116":{"position":[[224,4]]},"259":{"position":[[717,4],[2238,4]]},"261":{"position":[[1558,4],[2784,4],[3664,4]]},"273":{"position":[[650,4]]},"275":{"position":[[295,4],[767,4]]},"277":{"position":[[1790,4],[2023,4]]},"285":{"position":[[210,4],[564,4]]},"287":{"position":[[426,4],[536,4]]}}}],["earlier",{"_index":1611,"t":{"192":{"position":[[385,8]]},"232":{"position":[[243,8]]},"303":{"position":[[188,8]]}}}],["early",{"_index":850,"t":{"58":{"position":[[97,5]]},"70":{"position":[[115,5]]}}}],["easier",{"_index":1761,"t":{"259":{"position":[[1018,6]]}}}],["easiest",{"_index":1617,"t":{"194":{"position":[[171,7]]},"198":{"position":[[12,7]]}}}],["easily",{"_index":955,"t":{"72":{"position":[[387,6]]},"92":{"position":[[48,6]]},"114":{"position":[[163,6]]},"202":{"position":[[74,6]]},"269":{"position":[[2103,6]]},"281":{"position":[[125,6]]}}}],["easy",{"_index":126,"t":{"9":{"position":[[204,4]]},"26":{"position":[[653,4]]},"76":{"position":[[89,4]]},"309":{"position":[[36,4]]}}}],["edge",{"_index":581,"t":{"26":{"position":[[790,5],[834,4]]},"28":{"position":[[30,4],[85,4],[152,5]]},"30":{"position":[[4,4],[59,5],[79,4],[172,4],[310,4],[373,4],[502,4],[603,4],[715,4]]},"32":{"position":[[44,4]]},"84":{"position":[[195,4]]},"101":{"position":[[118,4]]},"251":{"position":[[49,4]]}}}],["effective",{"_index":480,"t":{"17":{"position":[[383,10]]}}}],["effectively",{"_index":826,"t":{"52":{"position":[[151,11]]}}}],["effectiveness",{"_index":1385,"t":{"137":{"position":[[1189,13]]}}}],["efficiency",{"_index":1039,"t":{"84":{"position":[[306,11]]}}}],["efficient",{"_index":1057,"t":{"86":{"position":[[324,10]]}}}],["efficiently",{"_index":2160,"t":{"269":{"position":[[2568,11]]}}}],["effort",{"_index":523,"t":{"19":{"position":[[477,7]]},"281":{"position":[[47,6]]}}}],["effortlessly",{"_index":503,"t":{"19":{"position":[[131,12]]}}}],["egg",{"_index":1933,"t":{"261":{"position":[[3469,3]]}}}],["elif",{"_index":717,"t":{"38":{"position":[[984,4],[1063,4]]}}}],["ellipse",{"_index":1940,"t":{"261":{"position":[[3605,7]]}}}],["email",{"_index":1407,"t":{"137":{"position":[[2023,6]]},"139":{"position":[[89,5]]},"143":{"position":[[686,6]]},"311":{"position":[[81,5]]}}}],["email.mime.multipart",{"_index":1413,"t":{"143":{"position":[[298,20]]}}}],["email.mime.text",{"_index":1415,"t":{"143":{"position":[[345,15]]}}}],["emails",{"_index":1361,"t":{"137":{"position":[[437,6]]},"143":{"position":[[3193,6]]}}}],["embedded",{"_index":40,"t":{"3":{"position":[[507,8]]},"5":{"position":[[480,8]]}}}],["emote",{"_index":453,"t":{"15":{"position":[[868,5],[1026,5]]}}}],["empirical",{"_index":1910,"t":{"261":{"position":[[2935,9],[4398,9]]},"265":{"position":[[571,9],[740,9],[1086,9],[1271,9],[1443,9],[1560,9],[1958,9],[2124,9],[2285,9],[2512,9],[2806,9],[3002,9],[3236,9],[3349,9]]},"267":{"position":[[104,9],[199,9]]},"279":{"position":[[457,9],[1295,9],[1443,9]]}}}],["employees",{"_index":1367,"t":{"137":{"position":[[699,9]]}}}],["empty",{"_index":237,"t":{"11":{"position":[[1207,5]]},"13":{"position":[[2202,6]]}}}],["enabled",{"_index":429,"t":{"13":{"position":[[3588,7]]},"19":{"position":[[100,7]]}}}],["enables",{"_index":206,"t":{"11":{"position":[[498,7]]},"22":{"position":[[90,7]]}}}],["enabling",{"_index":1029,"t":{"84":{"position":[[107,8]]},"86":{"position":[[198,8]]},"137":{"position":[[2030,8]]}}}],["encoded",{"_index":322,"t":{"13":{"position":[[375,7]]}}}],["encounter",{"_index":738,"t":{"42":{"position":[[61,9]]}}}],["encountered",{"_index":2103,"t":{"267":{"position":[[552,11]]}}}],["encourage",{"_index":510,"t":{"19":{"position":[[278,9]]},"137":{"position":[[1329,9]]}}}],["encourages",{"_index":98,"t":{"7":{"position":[[458,10]]}}}],["encrypted",{"_index":1161,"t":{"108":{"position":[[362,9]]}}}],["end",{"_index":1233,"t":{"122":{"position":[[183,3],[190,3]]},"137":{"position":[[418,3]]},"143":{"position":[[3174,3]]},"194":{"position":[[56,3]]},"246":{"position":[[15,3],[22,3]]},"327":{"position":[[15,3],[22,3]]}}}],["end_of_business",{"_index":1442,"t":{"143":{"position":[[1202,15],[1344,15],[2594,15]]}}}],["endless",{"_index":1750,"t":{"259":{"position":[[589,7]]}}}],["endpoint",{"_index":607,"t":{"30":{"position":[[9,8],[177,8],[315,9],[414,9],[507,9],[608,8]]},"32":{"position":[[49,9],[83,8]]}}}],["endpoint's",{"_index":620,"t":{"30":{"position":[[378,10]]}}}],["energy",{"_index":606,"t":{"28":{"position":[[205,7]]}}}],["engagement",{"_index":1381,"t":{"137":{"position":[[1056,11]]}}}],["engaging",{"_index":506,"t":{"19":{"position":[[214,8]]}}}],["enhance",{"_index":188,"t":{"11":{"position":[[84,7]]},"92":{"position":[[128,7]]}}}],["enhancing",{"_index":1038,"t":{"84":{"position":[[296,9]]}}}],["enough",{"_index":1110,"t":{"99":{"position":[[135,6]]},"137":{"position":[[692,6]]},"259":{"position":[[1574,7]]},"261":{"position":[[324,7]]},"269":{"position":[[2968,6]]}}}],["ensure",{"_index":839,"t":{"56":{"position":[[61,6]]},"58":{"position":[[15,6],[107,6]]},"124":{"position":[[0,6]]},"132":{"position":[[0,6]]},"134":{"position":[[238,6]]},"141":{"position":[[0,6]]},"180":{"position":[[0,6]]},"220":{"position":[[0,6]]},"238":{"position":[[0,6]]},"265":{"position":[[2675,6]]},"291":{"position":[[0,6]]},"319":{"position":[[0,6]]}}}],["ensures",{"_index":344,"t":{"13":{"position":[[791,7],[2311,7],[2481,7],[2745,7],[2908,7]]}}}],["ensuring",{"_index":329,"t":{"13":{"position":[[497,8],[910,8]]},"90":{"position":[[66,8]]},"137":{"position":[[678,8],[1801,8]]}}}],["enter",{"_index":1668,"t":{"212":{"position":[[203,6]]}}}],["environment",{"_index":641,"t":{"32":{"position":[[259,11]]},"92":{"position":[[401,12]]},"103":{"position":[[222,11]]},"108":{"position":[[383,11]]},"110":{"position":[[60,11],[155,11],[442,11]]},"143":{"position":[[753,12]]}}}],["environments",{"_index":584,"t":{"26":{"position":[[849,12]]}}}],["equal",{"_index":2033,"t":{"263":{"position":[[1711,5]]},"265":{"position":[[730,5],[1990,5]]},"279":{"position":[[1273,5],[1374,5],[1430,5]]}}}],["equals",{"_index":1926,"t":{"261":{"position":[[3266,6]]},"271":{"position":[[452,6]]},"287":{"position":[[609,6]]}}}],["equipment",{"_index":1053,"t":{"86":{"position":[[184,10]]}}}],["error",{"_index":745,"t":{"44":{"position":[[20,5],[494,5],[990,6],[1000,5]]},"52":{"position":[[50,6]]},"56":{"position":[[158,5]]},"58":{"position":[[32,5]]},"271":{"position":[[415,5],[441,5],[574,5]]}}}],["errors",{"_index":573,"t":{"26":{"position":[[508,7],[563,6]]},"42":{"position":[[78,6],[139,6]]},"50":{"position":[[73,7],[121,6]]},"54":{"position":[[87,7]]},"56":{"position":[[117,7]]},"58":{"position":[[147,6],[287,6]]},"279":{"position":[[1226,6]]}}}],["escalate",{"_index":952,"t":{"72":{"position":[[256,8]]}}}],["escalated",{"_index":961,"t":{"72":{"position":[[734,10],[1939,9]]},"99":{"position":[[238,9]]}}}],["escalation",{"_index":958,"t":{"72":{"position":[[595,10]]},"101":{"position":[[14,10]]},"172":{"position":[[197,10],[466,10]]}}}],["esp32",{"_index":1577,"t":{"176":{"position":[[186,5]]},"307":{"position":[[71,5]]},"309":{"position":[[95,5],[216,5],[328,5]]},"313":{"position":[[45,5],[174,5],[223,5],[266,5]]},"315":{"position":[[70,6]]}}}],["esp32s3",{"_index":2418,"t":{"313":{"position":[[304,7]]}}}],["estimate",{"_index":1784,"t":{"259":{"position":[[1657,8],[1873,8]]},"261":{"position":[[3,8],[2539,8]]},"281":{"position":[[396,8]]}}}],["estimated",{"_index":1957,"t":{"261":{"position":[[4157,9]]},"279":{"position":[[1390,9]]},"281":{"position":[[456,9]]}}}],["estimating",{"_index":1938,"t":{"261":{"position":[[3522,10]]}}}],["et",{"_index":2359,"t":{"283":{"position":[[143,2]]},"287":{"position":[[766,2]]}}}],["etc",{"_index":233,"t":{"11":{"position":[[1130,4]]},"52":{"position":[[66,5]]}}}],["evaluating",{"_index":1892,"t":{"261":{"position":[[2554,10],[4469,10]]}}}],["evaluations",{"_index":602,"t":{"28":{"position":[[133,11]]}}}],["even",{"_index":615,"t":{"30":{"position":[[147,4]]},"99":{"position":[[405,4]]},"244":{"position":[[60,4]]},"261":{"position":[[804,4]]},"265":{"position":[[1075,4],[2621,4],[2916,4]]},"273":{"position":[[1272,4]]},"325":{"position":[[59,4]]}}}],["event",{"_index":1488,"t":{"143":{"position":[[3089,6]]},"285":{"position":[[621,5]]}}}],["events",{"_index":2081,"t":{"265":{"position":[[2554,6]]},"285":{"position":[[60,7]]}}}],["everyone",{"_index":111,"t":{"7":{"position":[[666,8]]}}}],["evidenced",{"_index":2087,"t":{"265":{"position":[[2899,9]]}}}],["exact",{"_index":1774,"t":{"259":{"position":[[1460,5],[2177,5],[2846,6]]},"267":{"position":[[242,5]]},"269":{"position":[[69,5]]},"277":{"position":[[2351,5]]},"279":{"position":[[80,5],[1648,5]]},"281":{"position":[[260,5],[480,5]]}}}],["exactly",{"_index":1889,"t":{"261":{"position":[[2444,7]]},"263":{"position":[[116,7]]},"267":{"position":[[129,7],[627,7]]},"269":{"position":[[449,7],[1878,7]]}}}],["examined",{"_index":2040,"t":{"265":{"position":[[15,8]]}}}],["example",{"_index":450,"t":{"15":{"position":[[796,8]]},"34":{"position":[[254,8]]},"36":{"position":[[796,8]]},"38":{"position":[[331,8]]},"62":{"position":[[84,8]]},"68":{"position":[[966,7]]},"72":{"position":[[749,8]]},"120":{"position":[[20,7]]},"128":{"position":[[8,7]]},"137":{"position":[[5,7]]},"151":{"position":[[74,8]]},"168":{"position":[[71,8],[126,8]]},"246":{"position":[[26,7]]},"261":{"position":[[1563,7],[1778,7],[1992,7],[2263,7],[3697,7]]},"263":{"position":[[275,7]]},"273":{"position":[[482,8]]},"327":{"position":[[26,7]]}}}],["examples",{"_index":551,"t":{"24":{"position":[[44,8]]},"74":{"position":[[41,8]]},"146":{"position":[[586,9]]},"261":{"position":[[967,8],[1400,8],[2593,9],[3391,8],[3649,9],[4294,8],[4512,9]]},"265":{"position":[[161,8],[396,9]]},"269":{"position":[[1312,8],[1385,9],[2834,9]]},"271":{"position":[[670,9],[727,9],[1078,8]]},"275":{"position":[[89,8],[142,8],[281,8]]},"277":{"position":[[204,8],[258,8],[312,8],[396,8]]},"281":{"position":[[568,8]]}}}],["exceeded",{"_index":797,"t":{"44":{"position":[[959,8]]}}}],["excellent",{"_index":488,"t":{"17":{"position":[[617,9]]}}}],["except",{"_index":248,"t":{"11":{"position":[[1458,6]]},"30":{"position":[[517,6]]},"44":{"position":[[363,6]]},"126":{"position":[[1288,6]]},"143":{"position":[[2004,6]]}}}],["exception",{"_index":750,"t":{"44":{"position":[[126,10]]},"48":{"position":[[124,10]]},"50":{"position":[[25,9]]},"126":{"position":[[1295,9]]},"143":{"position":[[2011,9]]}}}],["exceptions",{"_index":744,"t":{"42":{"position":[[195,11]]},"46":{"position":[[77,10]]},"48":{"position":[[24,10],[108,10]]},"52":{"position":[[4,10]]},"54":{"position":[[14,11]]},"56":{"position":[[23,11]]},"58":{"position":[[304,10]]}}}],["execute",{"_index":990,"t":{"72":{"position":[[1702,7]]},"134":{"position":[[265,7],[298,7]]}}}],["executing",{"_index":996,"t":{"72":{"position":[[1855,10]]}}}],["execution",{"_index":195,"t":{"11":{"position":[[240,9]]}}}],["existing",{"_index":1092,"t":{"92":{"position":[[260,8]]},"162":{"position":[[89,8]]},"172":{"position":[[151,8]]}}}],["exists",{"_index":1541,"t":{"162":{"position":[[184,7]]},"261":{"position":[[1362,6]]},"269":{"position":[[1712,6]]}}}],["exited",{"_index":1329,"t":{"134":{"position":[[1404,6]]}}}],["expect",{"_index":807,"t":{"48":{"position":[[44,6]]}}}],["expected",{"_index":849,"t":{"58":{"position":[[56,9]]},"64":{"position":[[227,8]]},"68":{"position":[[613,9]]}}}],["expects",{"_index":908,"t":{"68":{"position":[[12,7]]}}}],["experience",{"_index":1399,"t":{"137":{"position":[[1623,10],[2112,11]]}}}],["explore",{"_index":1006,"t":{"74":{"position":[[0,7]]},"137":{"position":[[1381,7]]}}}],["exploring",{"_index":591,"t":{"26":{"position":[[1052,9]]}}}],["exponential",{"_index":830,"t":{"54":{"position":[[53,11]]}}}],["export",{"_index":643,"t":{"32":{"position":[[286,6]]},"103":{"position":[[262,6]]}}}],["exposition",{"_index":1821,"t":{"259":{"position":[[2924,10]]}}}],["expression",{"_index":422,"t":{"13":{"position":[[3423,10]]}}}],["extending",{"_index":464,"t":{"17":{"position":[[0,9]]}}}],["extra",{"_index":1619,"t":{"194":{"position":[[292,5]]}}}],["extremely",{"_index":171,"t":{"9":{"position":[[1269,9],[1405,9]]},"255":{"position":[[11,9]]}}}],["f",{"_index":1659,"t":{"210":{"position":[[118,1]]},"214":{"position":[[166,1]]}}}],["f\"hourly",{"_index":1475,"t":{"143":{"position":[[2421,8]]}}}],["f\"{msg}\\n",{"_index":1481,"t":{"143":{"position":[[2709,10]]}}}],["f1",{"_index":1763,"t":{"259":{"position":[[1061,2]]}}}],["f_{n,p}(k",{"_index":2140,"t":{"269":{"position":[[1589,10]]}}}],["f_{n,p}(k).fn,p​(k)=j=0∑k​fn,p​(k",{"_index":2020,"t":{"263":{"position":[[1137,35]]}}}],["f_{n,p}(n",{"_index":2190,"t":{"271":{"position":[[963,9]]}}}],["fact",{"_index":1845,"t":{"261":{"position":[[1057,5]]},"265":{"position":[[1015,4],[1481,5]]},"267":{"position":[[472,4]]}}}],["factory",{"_index":1534,"t":{"159":{"position":[[151,7]]}}}],["fail",{"_index":2271,"t":{"277":{"position":[[1819,4]]}}}],["failing",{"_index":2274,"t":{"277":{"position":[[1962,7]]}}}],["fails",{"_index":2275,"t":{"277":{"position":[[2028,6],[2133,5],[2258,5]]}}}],["failure",{"_index":2277,"t":{"277":{"position":[[2050,7]]}}}],["fairly",{"_index":2065,"t":{"265":{"position":[[1642,6]]}}}],["falling",{"_index":845,"t":{"56":{"position":[[184,7]]}}}],["false",{"_index":181,"t":{"9":{"position":[[1454,6]]},"13":{"position":[[1131,5]]},"259":{"position":[[464,5],[537,5]]}}}],["familiar",{"_index":1820,"t":{"259":{"position":[[2778,8]]}}}],["far",{"_index":1849,"t":{"261":{"position":[[1149,3]]}}}],["fast",{"_index":991,"t":{"72":{"position":[[1732,4]]}}}],["fastapi",{"_index":1688,"t":{"216":{"position":[[231,7]]}}}],["faster",{"_index":68,"t":{"3":{"position":[[899,6]]},"5":{"position":[[872,6]]},"30":{"position":[[557,6]]},"72":{"position":[[544,7]]},"99":{"position":[[622,6]]}}}],["features",{"_index":449,"t":{"15":{"position":[[782,9]]},"70":{"position":[[159,8]]},"251":{"position":[[395,9]]}}}],["fedora",{"_index":1606,"t":{"192":{"position":[[194,6]]}}}],["feel",{"_index":511,"t":{"19":{"position":[[322,4]]},"216":{"position":[[287,4]]}}}],["few",{"_index":377,"t":{"13":{"position":[[1436,3]]},"97":{"position":[[49,3]]},"146":{"position":[[551,3]]},"172":{"position":[[105,3]]},"259":{"position":[[1844,3]]},"309":{"position":[[154,3]]}}}],["fewer",{"_index":2015,"t":{"263":{"position":[[983,5]]},"269":{"position":[[327,5]]}}}],["ffmpeg",{"_index":1287,"t":{"132":{"position":[[126,6],[175,6],[213,6]]},"134":{"position":[[69,6]]}}}],["fiction",{"_index":1847,"t":{"261":{"position":[[1096,8],[1135,7]]}}}],["field",{"_index":669,"t":{"36":{"position":[[488,5]]}}}],["fields",{"_index":323,"t":{"13":{"position":[[389,7]]}}}],["figure",{"_index":1772,"t":{"259":{"position":[[1363,6],[2465,6]]},"261":{"position":[[4121,6]]},"265":{"position":[[771,6],[1313,6],[2380,6],[3107,6]]},"273":{"position":[[1071,6]]},"277":{"position":[[2979,6]]},"285":{"position":[[513,6]]}}}],["file",{"_index":1105,"t":{"97":{"position":[[258,4]]},"103":{"position":[[535,4]]},"122":{"position":[[107,4]]},"134":{"position":[[223,4]]},"208":{"position":[[8,4],[103,5]]},"214":{"position":[[229,5]]}}}],["file=discord.file(fpath",{"_index":443,"t":{"15":{"position":[[606,25]]}}}],["files",{"_index":946,"t":{"70":{"position":[[339,5],[351,5]]}}}],["filtering",{"_index":258,"t":{"11":{"position":[[1810,9]]}}}],["find",{"_index":549,"t":{"24":{"position":[[21,4]]},"110":{"position":[[39,4]]},"162":{"position":[[81,4]]},"174":{"position":[[73,4]]},"259":{"position":[[1954,4]]},"267":{"position":[[351,4]]},"269":{"position":[[1925,4],[2251,4],[2499,4]]},"277":{"position":[[472,4],[844,4]]},"307":{"position":[[99,4]]}}}],["finished",{"_index":995,"t":{"72":{"position":[[1846,8]]}}}],["finite",{"_index":1893,"t":{"261":{"position":[[2574,6],[3579,6],[4189,6]]},"263":{"position":[[100,6]]}}}],["firmware",{"_index":2409,"t":{"313":{"position":[[108,8]]}}}],["first",{"_index":391,"t":{"13":{"position":[[1843,5]]},"99":{"position":[[16,5],[421,5],[458,5]]},"126":{"position":[[0,6]]},"143":{"position":[[0,6]]},"151":{"position":[[307,5]]},"172":{"position":[[76,5]]},"261":{"position":[[73,5]]},"269":{"position":[[210,6]]},"277":{"position":[[946,5]]}}}],["fixed",{"_index":472,"t":{"17":{"position":[[206,5]]},"261":{"position":[[1470,5]]}}}],["flexibility",{"_index":150,"t":{"9":{"position":[[799,11]]}}}],["flexible",{"_index":173,"t":{"9":{"position":[[1292,8]]}}}],["flipping",{"_index":1986,"t":{"263":{"position":[[298,8]]}}}],["flips",{"_index":1982,"t":{"263":{"position":[[225,6]]},"271":{"position":[[41,5]]}}}],["float",{"_index":1312,"t":{"134":{"position":[[685,5]]}}}],["floats",{"_index":892,"t":{"66":{"position":[[194,8]]}}}],["floor",{"_index":1535,"t":{"159":{"position":[[159,7]]}}}],["flow",{"_index":389,"t":{"13":{"position":[[1701,4],[2586,4],[3083,4]]}}}],["flowcharts",{"_index":378,"t":{"13":{"position":[[1443,11]]}}}],["fn,p(k",{"_index":2137,"t":{"269":{"position":[[1534,9]]}}}],["fn,p(k)=(nk)pk(1−p)n−k.f_{n,p}(k",{"_index":2004,"t":{"263":{"position":[[679,33]]}}}],["fn,p(k)=∑j=0kfn,p(k).f_{n,p}(k",{"_index":2017,"t":{"263":{"position":[[1088,31]]}}}],["fn,p(k)f_{n,p}(k)fn,p​(k",{"_index":2116,"t":{"269":{"position":[[258,26]]}}}],["fn,p(k)≥δf_{n,p}(k",{"_index":2151,"t":{"269":{"position":[[2291,19]]}}}],["fn,p(n−k",{"_index":2188,"t":{"271":{"position":[[896,11]]}}}],["fn=100,p(k=80)f_{n=100,p}(k=80)fn=100,p​(k=80",{"_index":2146,"t":{"269":{"position":[[2021,46]]}}}],["focus",{"_index":37,"t":{"3":{"position":[[475,5]]},"5":{"position":[[448,5]]},"13":{"position":[[3602,5]]}}}],["follow",{"_index":802,"t":{"46":{"position":[[39,6]]},"176":{"position":[[45,6]]}}}],["followed",{"_index":1148,"t":{"106":{"position":[[273,8]]}}}],["following",{"_index":554,"t":{"26":{"position":[[101,9]]},"58":{"position":[[183,9]]},"116":{"position":[[82,9]]},"134":{"position":[[328,9]]},"180":{"position":[[25,9]]},"182":{"position":[[90,9]]},"184":{"position":[[50,9]]},"186":{"position":[[89,9]]},"188":{"position":[[74,9]]},"220":{"position":[[25,9]]},"222":{"position":[[90,9]]},"224":{"position":[[50,9]]},"226":{"position":[[89,9]]},"228":{"position":[[74,9]]},"238":{"position":[[25,9]]},"240":{"position":[[97,9]]},"242":{"position":[[50,9]]},"291":{"position":[[25,9]]},"293":{"position":[[90,9]]},"295":{"position":[[50,9]]},"297":{"position":[[89,9]]},"299":{"position":[[74,9]]},"311":{"position":[[22,9]]},"313":{"position":[[16,9]]},"319":{"position":[[25,9]]},"321":{"position":[[96,9]]},"323":{"position":[[50,9]]}}}],["follows",{"_index":879,"t":{"64":{"position":[[306,8]]},"194":{"position":[[265,7]]},"259":{"position":[[2943,7]]},"277":{"position":[[1764,8]]}}}],["fooled",{"_index":1971,"t":{"261":{"position":[[4619,6]]}}}],["forbidden",{"_index":786,"t":{"44":{"position":[[774,10]]}}}],["force",{"_index":1542,"t":{"162":{"position":[[213,5]]},"255":{"position":[[488,5]]}}}],["form",{"_index":1318,"t":{"134":{"position":[[917,4]]},"261":{"position":[[4097,4]]}}}],["formal",{"_index":2113,"t":{"269":{"position":[[115,6],[1222,6]]}}}],["format",{"_index":883,"t":{"66":{"position":[[90,6]]},"68":{"position":[[222,6]]},"255":{"position":[[220,6],[369,7]]}}}],["formats",{"_index":855,"t":{"60":{"position":[[49,8]]}}}],["formatted_time",{"_index":1472,"t":{"143":{"position":[[2357,14],[2442,17]]}}}],["formula",{"_index":1928,"t":{"261":{"position":[[3353,7]]}}}],["fortunately",{"_index":428,"t":{"13":{"position":[[3563,12]]},"17":{"position":[[593,12]]}}}],["forward",{"_index":648,"t":{"34":{"position":[[280,7]]}}}],["found",{"_index":792,"t":{"44":{"position":[[854,6],[892,5]]},"259":{"position":[[1506,5]]}}}],["four",{"_index":2082,"t":{"265":{"position":[[2573,4]]},"277":{"position":[[1802,4],[1950,4],[2080,4]]}}}],["frac",{"_index":2321,"t":{"279":{"position":[[968,6]]}}}],["fraction",{"_index":1827,"t":{"261":{"position":[[234,8],[351,8],[2863,8],[2971,8]]},"269":{"position":[[861,8]]},"279":{"position":[[135,8]]}}}],["frac{1}{n",{"_index":1915,"t":{"261":{"position":[[3055,11]]}}}],["frac{\\text{acc}^+(h",{"_index":2233,"t":{"275":{"position":[[1192,21]]}}}],["frac{p(1",{"_index":2307,"t":{"279":{"position":[[658,9]]}}}],["frame",{"_index":693,"t":{"36":{"position":[[1181,5],[1275,5]]},"64":{"position":[[400,5],[433,5],[471,6],[489,5]]},"126":{"position":[[384,5]]},"134":{"position":[[167,5],[760,5]]},"143":{"position":[[497,5]]}}}],["framegrab",{"_index":491,"t":{"17":{"position":[[649,10]]},"70":{"position":[[74,9],[93,9],[218,9]]}}}],["free",{"_index":512,"t":{"19":{"position":[[327,4]]},"216":{"position":[[292,4]]}}}],["frequency",{"_index":470,"t":{"17":{"position":[[99,9]]}}}],["frequentist",{"_index":2387,"t":{"287":{"position":[[21,11]]}}}],["frequently",{"_index":266,"t":{"11":{"position":[[1931,10]]}}}],["full",{"_index":456,"t":{"15":{"position":[[945,4]]},"36":{"position":[[169,4]]},"72":{"position":[[1224,7]]},"108":{"position":[[214,4]]},"151":{"position":[[121,6]]},"261":{"position":[[3628,4],[4244,4],[4491,4]]}}}],["fun",{"_index":74,"t":{"7":{"position":[[72,3],[773,3]]},"13":{"position":[[3548,3]]},"19":{"position":[[206,3]]}}}],["function",{"_index":318,"t":{"13":{"position":[[332,8]]},"38":{"position":[[471,8]]},"126":{"position":[[273,8],[538,8],[1511,9],[1664,9]]},"143":{"position":[[386,8],[651,8],[2972,9],[3235,9]]},"261":{"position":[[935,8],[1850,9],[3251,8]]},"263":{"position":[[652,8],[796,8],[829,8],[1603,8]]},"269":{"position":[[248,9]]}}}],["functional",{"_index":841,"t":{"56":{"position":[[98,10]]}}}],["functionality",{"_index":310,"t":{"13":{"position":[[89,14]]},"17":{"position":[[14,13]]},"255":{"position":[[144,14]]}}}],["functions",{"_index":2022,"t":{"263":{"position":[[1224,9]]}}}],["funny",{"_index":91,"t":{"7":{"position":[[363,5]]}}}],["further",{"_index":998,"t":{"72":{"position":[[1953,7]]}}}],["furthermore",{"_index":205,"t":{"11":{"position":[[482,12]]}}}],["future",{"_index":1561,"t":{"172":{"position":[[309,7]]}}}],["g",{"_index":1299,"t":{"134":{"position":[[90,1]]}}}],["gather",{"_index":1118,"t":{"99":{"position":[[427,6]]}}}],["gaussian",{"_index":1819,"t":{"259":{"position":[[2738,8]]}}}],["gave",{"_index":2131,"t":{"269":{"position":[[1058,4]]}}}],["ge",{"_index":2141,"t":{"269":{"position":[[1600,3],[2311,3]]},"271":{"position":[[978,3]]},"279":{"position":[[912,3]]}}}],["general",{"_index":133,"t":{"9":{"position":[[415,7]]}}}],["generally",{"_index":984,"t":{"72":{"position":[[1576,9]]},"194":{"position":[[72,9]]}}}],["generated",{"_index":1004,"t":{"72":{"position":[[2191,9]]},"114":{"position":[[220,9]]}}}],["generative",{"_index":1124,"t":{"101":{"position":[[58,10]]}}}],["get_image",{"_index":761,"t":{"44":{"position":[[341,12]]}}}],["get_image_query",{"_index":703,"t":{"38":{"position":[[169,16]]},"172":{"position":[[375,17]]}}}],["get_latest_frame.sh",{"_index":1297,"t":{"134":{"position":[[36,20],[356,19],[1779,19]]}}}],["get_off_couch.mp3",{"_index":1231,"t":{"122":{"position":[[119,18]]}}}],["get_or_create_detector(name",{"_index":1537,"t":{"162":{"position":[[25,28]]}}}],["get_state(self",{"_index":370,"t":{"13":{"position":[[1250,15]]}}}],["get_token_from_secure_location",{"_index":1182,"t":{"110":{"position":[[718,32]]}}}],["gets",{"_index":1156,"t":{"108":{"position":[[176,4]]}}}],["getting",{"_index":411,"t":{"13":{"position":[[3167,7]]}}}],["ggc_user",{"_index":1663,"t":{"212":{"position":[[59,8]]}}}],["git",{"_index":69,"t":{"3":{"position":[[911,3]]},"5":{"position":[[884,3]]},"216":{"position":[[33,3]]}}}],["github",{"_index":513,"t":{"19":{"position":[[342,6]]},"74":{"position":[[14,6]]},"246":{"position":[[75,6]]},"315":{"position":[[97,6],[272,6]]},"327":{"position":[[73,6]]}}}],["give",{"_index":1189,"t":{"114":{"position":[[113,4]]},"269":{"position":[[103,4],[1213,4]]}}}],["given",{"_index":2043,"t":{"265":{"position":[[297,5]]},"269":{"position":[[1284,6]]},"271":{"position":[[637,6]]},"273":{"position":[[83,5],[202,5]]}}}],["gives",{"_index":447,"t":{"15":{"position":[[724,5]]},"72":{"position":[[12,5]]},"269":{"position":[[285,5]]}}}],["giving",{"_index":110,"t":{"7":{"position":[[659,6]]},"277":{"position":[[2290,6]]}}}],["gl",{"_index":637,"t":{"32":{"position":[[169,2]]},"44":{"position":[[204,2]]},"62":{"position":[[151,2]]},"72":{"position":[[969,2]]},"97":{"position":[[106,2]]},"103":{"position":[[383,2]]},"110":{"position":[[485,2],[751,2]]},"126":{"position":[[975,2]]},"134":{"position":[[1116,2]]},"143":{"position":[[1393,2]]},"162":{"position":[[346,2]]},"164":{"position":[[36,2]]},"166":{"position":[[36,2]]},"168":{"position":[[245,2]]},"170":{"position":[[36,2]]},"172":{"position":[[651,2]]}}}],["gl.add_label(image_query",{"_index":1566,"t":{"172":{"position":[[951,25]]}}}],["gl.ask_async(detector=detector",{"_index":695,"t":{"36":{"position":[[1217,31]]},"40":{"position":[[670,31]]}}}],["gl.create_detector(name=\"your_detector_name",{"_index":1544,"t":{"162":{"position":[[376,45]]}}}],["gl.get_detector(id=\"your_detector_id",{"_index":1545,"t":{"164":{"position":[[66,38]]}}}],["gl.get_image_query(id=\"iq_your_image_query_id",{"_index":1553,"t":{"168":{"position":[[278,47]]}}}],["gl.get_image_query(id=image_query.id",{"_index":735,"t":{"40":{"position":[[850,37]]}}}],["gl.get_image_query(id=image_query_id",{"_index":711,"t":{"38":{"position":[[743,37]]}}}],["gl.get_or_create_detector",{"_index":754,"t":{"44":{"position":[[232,26]]},"143":{"position":[[1423,26]]},"146":{"position":[[213,26]]}}}],["gl.get_or_create_detector(\"dog",{"_index":1267,"t":{"126":{"position":[[1005,30]]}}}],["gl.get_or_create_detector(name=\"doorway",{"_index":1101,"t":{"97":{"position":[[131,41]]},"103":{"position":[[408,41]]},"172":{"position":[[674,41]]}}}],["gl.get_or_create_detector(name=\"path",{"_index":864,"t":{"62":{"position":[[176,36]]}}}],["gl.get_or_create_detector(name=\"trash",{"_index":974,"t":{"72":{"position":[[1160,39]]}}}],["gl.get_or_create_detector(name=\"your_detector_name",{"_index":681,"t":{"36":{"position":[[989,52]]},"38":{"position":[[576,52]]},"40":{"position":[[537,52]]}}}],["gl.get_or_create_detector(name=detector_name",{"_index":1323,"t":{"134":{"position":[[1146,45]]}}}],["gl.list_detectors",{"_index":1548,"t":{"166":{"position":[[101,19]]}}}],["gl.list_detectors(page=1",{"_index":1551,"t":{"166":{"position":[[178,25]]}}}],["gl.list_image_queries",{"_index":1555,"t":{"170":{"position":[[105,23]]}}}],["gl.list_image_queries(page=1",{"_index":1556,"t":{"170":{"position":[[190,29]]}}}],["gl.submit_image_query(d",{"_index":760,"t":{"44":{"position":[[316,24]]}}}],["gl.submit_image_query(det",{"_index":869,"t":{"62":{"position":[[303,26]]}}}],["gl.submit_image_query(detector",{"_index":880,"t":{"64":{"position":[[439,31]]},"66":{"position":[[475,31]]}}}],["gl.submit_image_query(detector=d",{"_index":978,"t":{"72":{"position":[[1357,33],[2109,33]]},"172":{"position":[[904,33]]}}}],["gl.submit_image_query(detector=det",{"_index":1106,"t":{"97":{"position":[[296,35]]},"103":{"position":[[573,35]]}}}],["gl.submit_image_query(detector=detector",{"_index":1331,"t":{"134":{"position":[[1503,40]]},"146":{"position":[[344,40]]}}}],["gl.submit_image_query(image=image",{"_index":1268,"t":{"126":{"position":[[1112,34]]},"143":{"position":[[1941,34]]}}}],["gl.wait_for_confident_result(id=image_query.id",{"_index":736,"t":{"40":{"position":[[1064,47]]}}}],["go",{"_index":1599,"t":{"190":{"position":[[183,3]]},"194":{"position":[[153,2]]},"230":{"position":[[183,3]]},"301":{"position":[[189,3]]},"309":{"position":[[166,2]]}}}],["goal",{"_index":1878,"t":{"261":{"position":[[2095,4],[4598,4]]}}}],["goes",{"_index":2302,"t":{"279":{"position":[[565,4]]}}}],["good",{"_index":1281,"t":{"128":{"position":[[63,4]]},"146":{"position":[[520,4],[555,4]]},"190":{"position":[[175,4]]},"230":{"position":[[175,4]]},"265":{"position":[[1047,4],[1649,4]]},"301":{"position":[[181,4]]}}}],["grabbing",{"_index":556,"t":{"26":{"position":[[118,8]]}}}],["gracefully",{"_index":743,"t":{"42":{"position":[[177,10]]},"56":{"position":[[47,10]]},"58":{"position":[[154,10]]},"251":{"position":[[325,10]]}}}],["gray",{"_index":1939,"t":{"261":{"position":[[3600,4],[4033,4],[4210,4]]}}}],["great",{"_index":1964,"t":{"261":{"position":[[4430,6]]}}}],["greater",{"_index":2090,"t":{"265":{"position":[[3324,8]]},"267":{"position":[[823,7]]},"277":{"position":[[1976,7],[2155,7]]},"285":{"position":[[469,7]]},"287":{"position":[[485,7]]}}}],["greengrass",{"_index":1650,"t":{"206":{"position":[[74,10]]},"212":{"position":[[76,10],[107,10],[175,10],[246,10],[359,10]]}}}],["grime",{"_index":22,"t":{"3":{"position":[[312,6]]},"5":{"position":[[285,6]]},"7":{"position":[[33,5],[806,5]]},"9":{"position":[[4,5],[133,5],[284,5],[464,5],[595,5],[1168,5],[1381,5]]},"11":{"position":[[4,5]]},"13":{"position":[[4,5],[1033,5],[2328,5],[2925,5]]},"15":{"position":[[4,5]]},"19":{"position":[[408,5],[489,5]]}}}],["ground",{"_index":1781,"t":{"259":{"position":[[1626,6],[1675,6],[1848,6],[2881,6]]},"281":{"position":[[547,6]]}}}],["groundlight",{"_index":0,"t":{"3":{"position":[[0,11],[39,11],[284,11],[540,11],[850,11]]},"5":{"position":[[12,11],[257,11],[513,11],[823,11]]},"7":{"position":[[84,11],[437,11],[834,11]]},"9":{"position":[[57,11],[219,11],[497,11],[1106,11],[1544,11]]},"11":{"position":[[814,11],[1275,11],[1794,11],[1985,13]]},"13":{"position":[[3576,11]]},"15":{"position":[[1142,12]]},"17":{"position":[[133,12],[189,11],[580,12]]},"19":{"position":[[88,11]]},"22":{"position":[[0,11],[155,12],[358,11]]},"24":{"position":[[80,11]]},"26":{"position":[[74,12],[216,12],[311,11],[597,12],[632,11],[771,11],[819,11]]},"30":{"position":[[272,11],[346,11],[490,11]]},"32":{"position":[[17,11],[103,11],[138,11],[157,11]]},"34":{"position":[[0,11],[343,12]]},"36":{"position":[[56,11],[395,12],[913,11],[932,11],[1284,11]]},"38":{"position":[[55,11],[534,11],[553,11],[813,11]]},"40":{"position":[[215,11],[473,11],[492,11],[739,11],[932,11],[1007,11],[1147,11]]},"42":{"position":[[36,11]]},"44":{"position":[[159,11],[192,11],[209,13]]},"46":{"position":[[22,11]]},"50":{"position":[[149,11]]},"58":{"position":[[330,11]]},"62":{"position":[[4,11],[98,11],[117,11],[156,13]]},"64":{"position":[[194,11],[498,11]]},"66":{"position":[[4,11]]},"68":{"position":[[0,11],[505,12],[559,11],[705,12]]},"72":{"position":[[0,11],[900,11],[919,11],[974,13]]},"74":{"position":[[53,11]]},"76":{"position":[[54,11]]},"82":{"position":[[0,11]]},"84":{"position":[[168,11]]},"97":{"position":[[75,11],[94,11],[111,13]]},"103":{"position":[[12,11],[100,11],[129,11],[352,11],[371,11],[388,13]]},"106":{"position":[[11,11],[117,11]]},"108":{"position":[[237,11]]},"110":{"position":[[386,11],[405,11],[490,13],[584,11],[679,11],[698,11]]},"112":{"position":[[40,11]]},"114":{"position":[[15,11],[297,11]]},"118":{"position":[[254,11]]},"120":{"position":[[49,11]]},"122":{"position":[[0,11]]},"124":{"position":[[69,11],[117,11]]},"126":{"position":[[21,11],[184,11],[203,11],[980,13],[1544,11]]},"130":{"position":[[0,11]]},"132":{"position":[[69,11],[194,11]]},"134":{"position":[[390,11],[540,11],[559,11],[824,11],[1002,11],[1121,13]]},"137":{"position":[[45,11],[1897,11]]},"139":{"position":[[0,11]]},"141":{"position":[[69,11],[144,11]]},"143":{"position":[[21,11],[199,11],[218,11],[1398,13],[3005,11]]},"151":{"position":[[137,12]]},"162":{"position":[[315,11],[334,11],[351,13]]},"164":{"position":[[5,11],[24,11],[41,13]]},"166":{"position":[[5,11],[24,11],[41,13]]},"168":{"position":[[214,11],[233,11],[250,13]]},"170":{"position":[[5,11],[24,11],[41,13]]},"172":{"position":[[0,11],[582,11],[601,11],[656,13]]},"174":{"position":[[15,11],[137,11]]},"176":{"position":[[331,11]]},"178":{"position":[[37,11],[67,11]]},"182":{"position":[[132,11]]},"184":{"position":[[15,11],[98,11],[204,11],[220,11]]},"186":{"position":[[16,11],[135,12]]},"188":{"position":[[27,11],[119,11],[180,11],[269,11]]},"194":{"position":[[827,12],[853,11]]},"196":{"position":[[36,11]]},"198":{"position":[[39,11]]},"200":{"position":[[76,11]]},"202":{"position":[[87,11]]},"218":{"position":[[37,11],[67,11]]},"222":{"position":[[132,11]]},"224":{"position":[[15,11],[98,11],[204,11],[220,11]]},"226":{"position":[[16,11],[135,12]]},"228":{"position":[[27,11],[119,11],[180,11],[269,11]]},"234":{"position":[[36,11]]},"236":{"position":[[37,11],[83,11]]},"240":{"position":[[139,11]]},"242":{"position":[[15,11],[99,11],[175,11]]},"248":{"position":[[36,11]]},"251":{"position":[[4,11],[88,11]]},"253":{"position":[[92,11],[236,11],[278,11]]},"255":{"position":[[60,11]]},"259":{"position":[[3,12],[2141,12]]},"267":{"position":[[425,12]]},"281":{"position":[[3,12]]},"289":{"position":[[37,11],[69,11]]},"293":{"position":[[132,11]]},"295":{"position":[[15,11],[104,11],[210,11],[226,11]]},"297":{"position":[[16,11],[135,12]]},"299":{"position":[[27,11],[119,11],[180,11],[269,11]]},"305":{"position":[[36,11]]},"307":{"position":[[0,11]]},"309":{"position":[[68,11]]},"315":{"position":[[206,11]]},"317":{"position":[[37,11],[74,11]]},"321":{"position":[[138,11]]},"323":{"position":[[15,11],[99,11],[175,11]]},"329":{"position":[[36,11]]}}}],["groundlight's",{"_index":273,"t":{"11":{"position":[[2163,13]]},"26":{"position":[[1177,13]]},"60":{"position":[[0,13]]},"86":{"position":[[0,13]]},"88":{"position":[[12,13]]},"90":{"position":[[0,13]]},"92":{"position":[[0,13]]},"94":{"position":[[24,13]]},"101":{"position":[[0,13]]},"146":{"position":[[5,13]]},"259":{"position":[[672,13],[818,13]]}}}],["groundlight(api_token=token",{"_index":1183,"t":{"110":{"position":[[756,28]]}}}],["groundlight(endpoint=\"http://localhost:6717",{"_index":638,"t":{"32":{"position":[[174,45]]}}}],["groundlight.ai",{"_index":1641,"t":{"200":{"position":[[112,15]]}}}],["groundlight/stream",{"_index":1697,"t":{"244":{"position":[[85,18]]},"325":{"position":[[84,18]]}}}],["groundlight_api_token",{"_index":783,"t":{"44":{"position":[[724,21]]},"103":{"position":[[200,21]]},"110":{"position":[[176,22],[463,21]]}}}],["groundlight_api_token=api_2gdxmflhji6l_example",{"_index":1135,"t":{"103":{"position":[[269,46]]}}}],["groundlight_endpoint",{"_index":640,"t":{"32":{"position":[[238,20]]}}}],["groundlight_endpoint=http://localhost:6717",{"_index":644,"t":{"32":{"position":[[293,42]]}}}],["groundlight’s",{"_index":33,"t":{"3":{"position":[[432,13]]},"5":{"position":[[405,13]]}}}],["group",{"_index":1674,"t":{"212":{"position":[[370,5]]}}}],["grows",{"_index":12,"t":{"3":{"position":[[169,5]]},"5":{"position":[[142,5]]}}}],["guarantees",{"_index":2107,"t":{"267":{"position":[[668,10]]},"287":{"position":[[225,10]]}}}],["guardian",{"_index":23,"t":{"3":{"position":[[319,9]]},"5":{"position":[[292,9]]},"7":{"position":[[39,9],[812,8]]},"9":{"position":[[10,8],[139,8],[290,8],[470,8],[1174,8],[1387,8]]},"11":{"position":[[10,8]]},"13":{"position":[[1039,8],[2334,8],[2931,8]]},"15":{"position":[[10,8]]},"19":{"position":[[414,8]]}}}],["guardian's",{"_index":306,"t":{"13":{"position":[[10,10]]}}}],["guardian’s",{"_index":136,"t":{"9":{"position":[[601,10]]}}}],["guide",{"_index":1216,"t":{"120":{"position":[[125,5]]},"174":{"position":[[44,6],[59,6]]},"176":{"position":[[90,6]]},"178":{"position":[[5,5]]},"218":{"position":[[5,5]]},"236":{"position":[[5,5]]},"289":{"position":[[5,5]]},"317":{"position":[[5,5]]}}}],["guides",{"_index":547,"t":{"22":{"position":[[405,6]]},"26":{"position":[[18,6]]}}}],["h",{"_index":2230,"t":{"275":{"position":[[982,3]]},"277":{"position":[[767,4],[1288,4],[1370,4],[2641,4],[2826,4]]}}}],["h(x",{"_index":1887,"t":{"261":{"position":[[2357,6]]}}}],["h(x)=y",{"_index":1884,"t":{"261":{"position":[[2307,6]]}}}],["h(x)=yh(x",{"_index":1875,"t":{"261":{"position":[[2019,10]]}}}],["h(x_i",{"_index":1918,"t":{"261":{"position":[[3094,6]]},"275":{"position":[[893,6],[1022,6]]}}}],["h(xi)=yi",{"_index":1913,"t":{"261":{"position":[[3014,8]]}}}],["h).acc+​(h",{"_index":2248,"t":{"277":{"position":[[798,14]]}}}],["h)}{2}.accbal​(h)=2acc+(h)+acc−(h",{"_index":2235,"t":{"275":{"position":[[1228,37]]}}}],["hand",{"_index":1064,"t":{"88":{"position":[[186,4],[194,4]]},"277":{"position":[[30,5]]}}}],["handful",{"_index":49,"t":{"3":{"position":[[637,7]]},"5":{"position":[[610,7]]},"9":{"position":[[86,7],[647,7]]}}}],["handle",{"_index":294,"t":{"11":{"position":[[2784,6]]},"13":{"position":[[661,6],[729,6]]},"15":{"position":[[145,6]]},"26":{"position":[[534,6]]},"42":{"position":[[127,6],[188,6]]},"46":{"position":[[70,6]]},"56":{"position":[[35,6]]},"58":{"position":[[140,6],[273,6]]},"172":{"position":[[186,6]]}}}],["handled",{"_index":43,"t":{"3":{"position":[[552,7]]},"5":{"position":[[525,7]]}}}],["handles",{"_index":493,"t":{"17":{"position":[[699,7]]}}}],["handling",{"_index":66,"t":{"3":{"position":[[836,9]]},"5":{"position":[[809,9]]},"15":{"position":[[485,8]]},"26":{"position":[[492,8]]},"54":{"position":[[5,8]]},"58":{"position":[[38,8]]},"108":{"position":[[291,8]]}}}],["happen",{"_index":1002,"t":{"72":{"position":[[2087,7]]},"261":{"position":[[283,6]]}}}],["happens",{"_index":1848,"t":{"261":{"position":[[1112,7]]}}}],["hard",{"_index":448,"t":{"15":{"position":[[765,4]]}}}],["hardcoding",{"_index":1163,"t":{"108":{"position":[[438,10]]}}}],["hardware",{"_index":915,"t":{"68":{"position":[[271,8]]},"255":{"position":[[454,9]]}}}],["hasn't",{"_index":994,"t":{"72":{"position":[[1839,6]]}}}],["hat{\\sigma",{"_index":2318,"t":{"279":{"position":[[888,14],[946,12],[1351,17]]}}}],["hat{p",{"_index":2315,"t":{"279":{"position":[[869,7],[985,8]]}}}],["hat{p}(1",{"_index":2322,"t":{"279":{"position":[[975,9]]}}}],["having",{"_index":2045,"t":{"265":{"position":[[551,6]]}}}],["head",{"_index":1133,"t":{"103":{"position":[[112,4]]},"134":{"position":[[97,4]]}}}],["heads",{"_index":1988,"t":{"263":{"position":[[338,5],[496,5],[579,6],[908,6],[989,5],[1388,6],[1451,5]]},"265":{"position":[[83,5]]},"269":{"position":[[333,5]]},"271":{"position":[[176,5],[222,5],[260,6]]}}}],["health",{"_index":827,"t":{"52":{"position":[[179,6]]}}}],["healthy",{"_index":1814,"t":{"259":{"position":[[2639,7]]}}}],["help",{"_index":100,"t":{"7":{"position":[[480,5],[595,5]]},"13":{"position":[[2707,4],[3111,4]]},"50":{"position":[[90,4]]},"52":{"position":[[124,4]]},"54":{"position":[[145,4]]},"58":{"position":[[75,4]]},"76":{"position":[[254,4]]},"88":{"position":[[83,4]]},"90":{"position":[[223,4]]},"137":{"position":[[820,4]]},"178":{"position":[[16,4]]},"218":{"position":[[16,4]]},"236":{"position":[[16,4]]},"289":{"position":[[16,4]]},"317":{"position":[[16,4]]}}}],["helpful",{"_index":1790,"t":{"259":{"position":[[1962,7]]}}}],["helps",{"_index":1173,"t":{"110":{"position":[[204,5]]}}}],["here",{"_index":2,"t":{"3":{"position":[[27,4]]},"5":{"position":[[0,4]]},"13":{"position":[[3294,4]]},"36":{"position":[[188,6]]},"40":{"position":[[462,5]]},"108":{"position":[[258,4]]},"120":{"position":[[0,4]]},"261":{"position":[[186,5],[3867,5]]},"265":{"position":[[859,5]]},"271":{"position":[[1030,4]]},"281":{"position":[[335,4]]},"313":{"position":[[209,5],[260,5],[286,5],[328,5]]}}}],["here's",{"_index":862,"t":{"62":{"position":[[74,6]]},"66":{"position":[[259,6]]},"68":{"position":[[956,6]]}}}],["hero",{"_index":109,"t":{"7":{"position":[[653,5]]}}}],["heroic",{"_index":522,"t":{"19":{"position":[[461,6]]}}}],["hhh",{"_index":1868,"t":{"261":{"position":[[1860,4],[1964,3],[2050,3],[2177,4],[2235,3],[2565,3],[2894,3],[3821,4],[3873,3],[4480,3],[4761,3]]},"265":{"position":[[431,4]]},"277":{"position":[[333,3],[417,3]]}}}],["hhh's",{"_index":1909,"t":{"261":{"position":[[2929,5],[3533,5],[4392,5],[4645,5]]},"265":{"position":[[498,5],[2162,5],[3290,5]]}}}],["high",{"_index":379,"t":{"13":{"position":[[1460,4],[1690,4]]},"99":{"position":[[130,4],[485,4]]},"259":{"position":[[1321,4]]},"261":{"position":[[620,5]]},"269":{"position":[[2902,6],[2912,4],[2988,5],[3039,5]]}}}],["high=1.0",{"_index":2176,"t":{"269":{"position":[[3098,9]]}}}],["high=255",{"_index":902,"t":{"66":{"position":[[375,9]]}}}],["higher",{"_index":983,"t":{"72":{"position":[[1523,6],[1550,6],[1594,6],[1610,6]]},"99":{"position":[[634,6]]},"103":{"position":[[60,7]]},"122":{"position":[[35,6]]},"124":{"position":[[30,6]]},"130":{"position":[[35,6]]},"132":{"position":[[30,6]]},"137":{"position":[[929,6]]},"139":{"position":[[35,6]]},"141":{"position":[[30,6]]},"178":{"position":[[106,7]]},"180":{"position":[[75,6]]},"182":{"position":[[32,6]]},"190":{"position":[[133,6]]},"218":{"position":[[106,7]]},"220":{"position":[[75,6]]},"222":{"position":[[32,6]]},"230":{"position":[[133,6]]},"236":{"position":[[122,7]]},"238":{"position":[[82,6]]},"240":{"position":[[32,6]]},"265":{"position":[[1890,7],[2778,6]]},"289":{"position":[[108,7]]},"291":{"position":[[75,6]]},"293":{"position":[[32,6]]},"301":{"position":[[139,6]]},"317":{"position":[[113,7]]},"319":{"position":[[81,6]]},"321":{"position":[[32,6]]}}}],["highest",{"_index":1076,"t":{"90":{"position":[[79,7]]}}}],["highly",{"_index":1766,"t":{"259":{"position":[[1133,6]]}}}],["hold",{"_index":2195,"t":{"273":{"position":[[60,4],[175,4]]},"277":{"position":[[1827,4]]}}}],["holds",{"_index":2125,"t":{"269":{"position":[[886,5]]}}}],["home",{"_index":1211,"t":{"120":{"position":[[69,4]]}}}],["homebrew",{"_index":1695,"t":{"232":{"position":[[89,8]]}}}],["hope",{"_index":2346,"t":{"281":{"position":[[746,4]]}}}],["host's",{"_index":1665,"t":{"212":{"position":[[140,6]]}}}],["hour",{"_index":1357,"t":{"137":{"position":[[319,5]]},"143":{"position":[[3102,5]]}}}],["hourly",{"_index":1405,"t":{"137":{"position":[[1957,6]]}}}],["hours",{"_index":1027,"t":{"80":{"position":[[281,6]]},"137":{"position":[[735,5]]},"143":{"position":[[1158,5]]}}}],["http",{"_index":575,"t":{"26":{"position":[[558,4]]},"44":{"position":[[15,4],[559,4],[624,4]]}}}],["http://0.0.0.0:8000",{"_index":1689,"t":{"216":{"position":[[265,19]]}}}],["http://localhost:3000",{"_index":1686,"t":{"216":{"position":[[168,21]]}}}],["https://bootstrap.pypa.io/get",{"_index":1630,"t":{"194":{"position":[[614,29]]}}}],["https://dashboard.groundlight.ai/reef/my",{"_index":1184,"t":{"112":{"position":[[65,40]]}}}],["https://github.com/groundlight/esp32cam",{"_index":1016,"t":{"78":{"position":[[12,39]]},"315":{"position":[[107,39]]}}}],["https://github.com/groundlight/monitoring",{"_index":1682,"t":{"216":{"position":[[43,41]]}}}],["https://github.com/groundlight/raspberry",{"_index":1022,"t":{"80":{"position":[[12,40]]}}}],["https://github.com/groundlight/stream",{"_index":1008,"t":{"76":{"position":[[12,37]]}}}],["https://images.selfstorage.com/large",{"_index":1564,"t":{"172":{"position":[[757,37]]}}}],["https://iot.groundlight.ai/espcam",{"_index":2395,"t":{"307":{"position":[[110,34]]},"309":{"position":[[172,33]]}}}],["https://www.photos",{"_index":968,"t":{"72":{"position":[[1000,19]]}}}],["https://www.youtube.com/watch?v=