En Gear Bending Stress Calculator is a free online engineering tool designed to calculate the bending stress of gear teeth based on industry-standard gear design principles. By entering parameters such as transmitted torque, gear module, number of teeth, face width, material properties, and applied load, the Gear Bending Stress Calculator quickly estimates the bending stress acting on the gear tooth root. This helps engineers evaluate gear strength, prevent tooth failure, and optimize gear designs for improved durability and performance. Ideal for mechanical engineers, gearbox designers, and students, this calculator provides fast, accurate, and browser-based calculations without requiring additional software, making gear design and verification more efficient and reliable.
Gear Bending Stress Calculator — Lewis Formula
Drive Input
Power + RPM
Direct Torque
Gear Geometry
Pitch Diameter
Teeth + Module/Pitch
Pressure Angle
?
14.5° Full Depth
20° Full Depth
20° Stub
Calcule
Awaiting Input
Enter valid parameters to evaluate gear bending safety.
—
Tangential Force (Ft )
—
norte
Lewis Form Factor (Y)
—
dimensionless
Safety Factor (SF)
—
σall / σ
KGZ1bmN0aW9uKCl7CnZhciByb290PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsZXdpcy1nZWFyLWNhbGN1bGF0b3IiKTsKaWYoIXJvb3QpcmV0dXJuOwp2YXIgTkE9Ik4vQSIsRU09Ii0iOwp2YXIgTEVXSVNfWT17YTE0NTpbWzEwLDAuMTc2XSxbMTEsMC4xOTJdLFsxMiwwLjIxMF0sWzEzLDAuMjIzXSxbMTQsMC4yMzZdLFsxNSwwLjI0NV0sWzE2LDAuMjU1XSxbMTcsMC4yNjRdLFsxOCwwLjI2OF0sWzE5LDAuMjcyXSxbMjAsMC4yNzVdLFsyMiwwLjI4Ml0sWzI0LDAuMjg2XSxbMjYsMC4yOTBdLFsyOCwwLjI5Ml0sWzMwLDAuMjk0XSxbMzUsMC4yOThdLFs0MCwwLjMwMV0sWzQ1LDAuMzAzXSxbNTAsMC4zMDVdLFs2MCwwLjMwOF0sWzc1LDAuMzEwXSxbMTAwLDAuMzEyXSxbMTUwLDAuMzE0XSxbMjAwLDAuMzE1XSxbMzAwLDAuMzE2XV0sYTIwOltbMTAsMC4yMDFdLFsxMSwwLjIyNl0sWzEyLDAuMjQ1XSxbMTMsMC4yNjRdLFsxNCwwLjI3Nl0sWzE1LDAuMjg5XSxbMTYsMC4yOTVdLFsxNywwLjMwMl0sWzE4LDAuMzA4XSxbMTksMC4zMTRdLFsyMCwwLjMyMF0sWzIyLDAuMzMxXSxbMjQsMC4zMzddLFsyNiwwLjM0NF0sWzI4LDAuMzQ4XSxbMzAsMC4zNTJdLFszNSwwLjM1OF0sWzQwLDAuMzYyXSxbNDUsMC4zNjVdLFs1MCwwLjM2OF0sWzYwLDAuMzcxXSxbNzUsMC4zNzRdLFsxMDAsMC4zNzZdLFsxNTAsMC4zNzhdLFsyMDAsMC4zNzldLFszMDAsMC4zODBdXSxhMjBzOltbMTAsMC4yMjZdLFsxMSwwLjI1NF0sWzEyLDAuMjc2XSxbMTMsMC4yOThdLFsxNCwwLjMxMV0sWzE1LDAuMzI1XSxbMTYsMC4zMzJdLFsxNywwLjM0MF0sWzE4LDAuMzQ2XSxbMTksMC4zNTJdLFsyMCwwLjM1OF0sWzIyLDAuMzcwXSxbMjQsMC4zNzddLFsyNiwwLjM4NF0sWzI4LDAuMzg5XSxbMzAsMC4zOTNdLFszNSwwLjQwMV0sWzQwLDAuNDA1XSxbNDUsMC40MDhdLFs1MCwwLjQxMV0sWzYwLDAuNDE1XSxbNzUsMC40MThdLFsxMDAsMC40MjBdLFsxNTAsMC40MjJdLFsyMDAsMC40MjNdLFszMDAsMC40MjRdXX07CnZhciBzdGF0ZT17dW5pdDoic2kiLHRvcnF1ZU1vZGU6InBvd2VyIixkaWFtZXRlck1vZGU6ImRpYW1ldGVyIn07CmZ1bmN0aW9uIGJ5SWQoaWQpe3JldHVybiByb290LnF1ZXJ5U2VsZWN0b3IoIiMiK2lkKTt9CnZhciBlbHM9e3Bvd2VyOmJ5SWQoImxnYy1wb3dlciIpLHJwbTpieUlkKCJsZ2MtcnBtIiksdG9ycXVlRGlyZWN0OmJ5SWQoImxnYy10b3JxdWVEaXJlY3QiKSxwaXRjaERpYW1ldGVyOmJ5SWQoImxnYy1waXRjaERpYW1ldGVyIiksbnVtVGVldGg6YnlJZCgibGdjLW51bVRlZXRoIiksbW9kdWxlUGl0Y2g6YnlJZCgibGdjLW1vZHVsZVBpdGNoIiksZmFjZVdpZHRoOmJ5SWQoImxnYy1mYWNlV2lkdGgiKSxwcmVzc3VyZUFuZ2xlOmJ5SWQoImxnYy1wcmVzc3VyZUFuZ2xlIiksYWxsb3dhYmxlU3RyZXNzOmJ5SWQoImxnYy1hbGxvd2FibGVTdHJlc3MiKSxwb3dlclVuaXQ6YnlJZCgibGdjLXBvd2VyVW5pdCIpLHRvcnF1ZVVuaXQ6YnlJZCgibGdjLXRvcnF1ZVVuaXQiKSxkaWFtZXRlclVuaXQ6YnlJZCgibGdjLWRpYW1ldGVyVW5pdCIpLGZhY2VXaWR0aFVuaXQ6YnlJZCgibGdjLWZhY2VXaWR0aFVuaXQiKSxtb2R1bGVQaXRjaFVuaXQ6YnlJZCgibGdjLW1vZHVsZVBpdGNoVW5pdCIpLG1vZHVsZVBpdGNoTGFiZWw6YnlJZCgibGdjLW1vZHVsZVBpdGNoTGFiZWwiKSxzdHJlc3NVbml0OmJ5SWQoImxnYy1zdHJlc3NVbml0IikscmVzdWx0RnQ6YnlJZCgibGdjLXJlc3VsdEZ0IikscmVzdWx0RnRVbml0OmJ5SWQoImxnYy1yZXN1bHRGdFVuaXQiKSxyZXN1bHRZOmJ5SWQoImxnYy1yZXN1bHRZIikscmVzdWx0U2lnbWE6YnlJZCgibGdjLXJlc3VsdFNpZ21hIikscmVzdWx0U2lnbWFVbml0OmJ5SWQoImxnYy1yZXN1bHRTaWdtYVVuaXQiKSxyZXN1bHRTRjpieUlkKCJsZ2MtcmVzdWx0U0YiKSxzdGF0dXNCYW5uZXI6YnlJZCgibGdjLXN0YXR1c0Jhbm5lciIpLHN0YXR1c1RpdGxlOmJ5SWQoImxnYy1zdGF0dXNUaXRsZSIpLHN0YXR1c0Rlc2M6YnlJZCgibGdjLXN0YXR1c0Rlc2MiKSxzdGF0dXNCYWRnZTpieUlkKCJsZ2Mtc3RhdHVzQmFkZ2UiKSxkZXJpdmVkVG9ycXVlOmJ5SWQoImxnYy1kZXJpdmVkVG9ycXVlIiksZGVyaXZlZERpYW1ldGVyOmJ5SWQoImxnYy1kZXJpdmVkRGlhbWV0ZXIiKSxkZXJpdmVkTW9kdWxlOmJ5SWQoImxnYy1kZXJpdmVkTW9kdWxlIiksZGVyaXZlZE1vZHVsZUxhYmVsOmJ5SWQoImxnYy1kZXJpdmVkTW9kdWxlTGFiZWwiKSxwb3dlcklucHV0czpieUlkKCJsZ2MtcG93ZXJJbnB1dHMiKSx0b3JxdWVJbnB1dHM6YnlJZCgibGdjLXRvcnF1ZUlucHV0cyIpLGRpYW1ldGVySW5wdXRzOmJ5SWQoImxnYy1kaWFtZXRlcklucHV0cyIpLHRlZXRoSW5wdXRzOmJ5SWQoImxnYy10ZWV0aElucHV0cyIpLHJlc3VsdHNTZWN0aW9uOmJ5SWQoImxnYy1yZXN1bHRzU2VjdGlvbiIpLGNhbGNCdG46YnlJZCgibGdjLWNhbGNCdG4iKX07CmZ1bmN0aW9uIGxvb2t1cFkobixrKXt2YXIgdD1MRVdJU19ZW2tdO2lmKCF0fHxuPDYpcmV0dXJuIG51bGw7aWYobjw9dFswXVswXSlyZXR1cm4gdFswXVsxXTtpZihuPj10W3QubGVuZ3RoLTFdWzBdKXJldHVybiB0W3QubGVuZ3RoLTFdWzFdO2Zvcih2YXIgaT0wO2k8dC5sZW5ndGgtMTtpKyspe3ZhciBuMT10W2ldWzBdLHkxPXRbaV1bMV0sbjI9dFtpKzFdWzBdLHkyPXRbaSsxXVsxXTtpZihuPj1uMSYmbjw9bjIpcmV0dXJuIHkxKygobi1uMSkvKG4yLW4xKSkqKHkyLXkxKTt9cmV0dXJuIHRbdC5sZW5ndGgtMV1bMV07fQpmdW5jdGlvbiBmbXQodixkKXtpZih2PT09bnVsbHx8dj09PXVuZGVmaW5lZHx8IWlzRmluaXRlKHYpKXJldHVybiBOQTt2YXIgYT1NYXRoLmFicyh2KTtpZihhPj0xMDAwMClyZXR1cm4gdi50b0V4cG9uZW50aWFsKDMpO2lmKGE+PTEwMDApcmV0dXJuIHYudG9GaXhlZCgxKTtpZihhPj0xMDApcmV0dXJuIHYudG9GaXhlZCgyKTtpZihhPj0xKXJldHVybiB2LnRvRml4ZWQoZCE9PXVuZGVmaW5lZD9kOjMpO2lmKGE+PTAuMDAxKXJldHVybiB2LnRvRml4ZWQoNCk7cmV0dXJuIHYudG9FeHBvbmVudGlhbCgzKTt9CmZ1bmN0aW9uIHBhcnNlUG9zaXRpdmUoZWwpe3ZhciB2PXBhcnNlRmxvYXQoZWwudmFsdWUpO3JldHVybiBpc0Zpbml0ZSh2KSYmdj4wP3Y6bnVsbDt9CmZ1bmN0aW9uIGdldFRvcnF1ZSgpe2lmKHN0YXRlLnRvcnF1ZU1vZGU9PT0idG9ycXVlIilyZXR1cm4gcGFyc2VQb3NpdGl2ZShlbHMudG9ycXVlRGlyZWN0KTt2YXIgcD1wYXJzZVBvc2l0aXZlKGVscy5wb3dlcikscj1wYXJzZVBvc2l0aXZlKGVscy5ycG0pO2lmKHA9PT1udWxsfHxyPT09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gc3RhdGUudW5pdD09PSJzaSI/KDk1NTAqcCkvcjooNjMwMjUqcCkvcjt9CmZ1bmN0aW9uIGdldFBpdGNoRGlhbWV0ZXIoKXtpZihzdGF0ZS5kaWFtZXRlck1vZGU9PT0iZGlhbWV0ZXIiKXJldHVybiBwYXJzZVBvc2l0aXZlKGVscy5waXRjaERpYW1ldGVyKTt2YXIgbj1wYXJzZUZsb2F0KGVscy5udW1UZWV0aC52YWx1ZSksbXA9cGFyc2VQb3NpdGl2ZShlbHMubW9kdWxlUGl0Y2gpO2lmKCFpc0Zpbml0ZShuKXx8bjw9MHx8bXA9PT1udWxsKXJldHVybiBudWxsO3JldHVybiBzdGF0ZS51bml0PT09InNpIj9uKm1wOm4vbXA7fQpmdW5jdGlvbiBnZXRNb2R1bGVPclBkKCl7aWYoc3RhdGUuZGlhbWV0ZXJNb2RlPT09InRlZXRoIilyZXR1cm4gcGFyc2VQb3NpdGl2ZShlbHMubW9kdWxlUGl0Y2gpO3ZhciBkPXBhcnNlUG9zaXRpdmUoZWxzLnBpdGNoRGlhbWV0ZXIpLG49cGFyc2VGbG9hdChlbHMubnVtVGVldGgudmFsdWUpO2lmKGQ9PT1udWxsfHwhaXNGaW5pdGUobil8fG48PTApcmV0dXJuIG51bGw7cmV0dXJuIHN0YXRlLnVuaXQ9PT0ic2kiP2QvbjpuL2Q7fQpmdW5jdGlvbiBnZXROdW1UZWV0aCgpe3ZhciBuPXBhcnNlRmxvYXQoZWxzLm51bVRlZXRoLnZhbHVlKTtyZXR1cm4gaXNGaW5pdGUobikmJm4+PTY/bjpudWxsO30KZnVuY3Rpb24gaGlkZVJlc3VsdHMoKXtlbHMucmVzdWx0c1NlY3Rpb24uY2xhc3NMaXN0LmFkZCgibGdjLWhpZGRlbiIpO2Vscy5kZXJpdmVkVG9ycXVlLnRleHRDb250ZW50PSJUID0gIitOQTtlbHMuZGVyaXZlZERpYW1ldGVyLnRleHRDb250ZW50PSJkID0gIitOQTtlbHMuZGVyaXZlZE1vZHVsZS50ZXh0Q29udGVudD1zdGF0ZS51bml0PT09InNpIj8ibSA9ICIrTkE6IlBkID0gIitOQTt9CmZ1bmN0aW9uIHNldFJlc3VsdHMoZnQseSxzaWdtYSxzZil7ZWxzLnJlc3VsdEZ0LnRleHRDb250ZW50PWZ0IT09bnVsbD9mbXQoZnQsMik6TkE7ZWxzLnJlc3VsdEZ0VW5pdC50ZXh0Q29udGVudD1zdGF0ZS51bml0PT09InNpIj8iTiI6ImxiZiI7ZWxzLnJlc3VsdFkudGV4dENvbnRlbnQ9eSE9PW51bGw/Zm10KHksNCk6TkE7ZWxzLnJlc3VsdFNpZ21hLnRleHRDb250ZW50PXNpZ21hIT09bnVsbD9mbXQoc2lnbWEsMik6TkE7ZWxzLnJlc3VsdFNpZ21hVW5pdC50ZXh0Q29udGVudD1zdGF0ZS51bml0PT09InNpIj8iTVBhIjoicHNpIjtlbHMucmVzdWx0U0YudGV4dENvbnRlbnQ9c2YhPT1udWxsP2ZtdChzZiwzKTpOQTt9CmZ1bmN0aW9uIHNldFN0YXR1cyhsdix0aSxkZSxiZCl7ZWxzLnN0YXR1c0Jhbm5lci5jbGFzc05hbWU9ImxnYy1zdGF0dXMtYmFubmVyICIrbHY7ZWxzLnN0YXR1c0JhZGdlLmNsYXNzTmFtZT0ibGdjLWJhZGdlICIrbHY7ZWxzLnN0YXR1c1RpdGxlLnRleHRDb250ZW50PXRpO2Vscy5zdGF0dXNEZXNjLnRleHRDb250ZW50PWRlO2Vscy5zdGF0dXNCYWRnZS50ZXh0Q29udGVudD1iZDt9CmZ1bmN0aW9uIHVwZGF0ZVNhZmV0eVN0YXR1cyhzZixzaWdtYSxzYSl7aWYoc2Y+PTEuNSlzZXRTdGF0dXMoImxnYy1zYWZlIiwiRGVzaWduIGlzIFNhZmUiLCJTRiA9ICIrZm10KHNmLDMpKyIgKD49IDEuNSkgIitFTSsiIEJlbmRpbmcgc3RyZXNzICIrZm10KHNpZ21hLDIpKyIgaXMgd2l0aGluIGFsbG93YWJsZSAiK2ZtdChzYSwyKSsiLiIsIlNBRkUiKTtlbHNlIGlmKHNmPj0xLjApc2V0U3RhdHVzKCJsZ2Mtd2FybmluZyIsIk1hcmdpbmFsIFNhZmV0eSIsIlNGID0gIitmbXQoc2YsMykrIiAiK0VNKyIgQ29uc2lkZXIgaW5jcmVhc2luZyBmYWNlIHdpZHRoLCBtb2R1bGUsIG9yIHRvb3RoIGNvdW50LiIsIldBUk5JTkciKTtlbHNlIHNldFN0YXR1cygibGdjLWNyaXRpY2FsIiwiQ3JpdGljYWwgIitFTSsiIEZhaWx1cmUgUmlzayIsIlNGID0gIitmbXQoc2YsMykrIiAoYmVsb3cgMS4wKSAiK0VNKyIgQ2FsY3VsYXRlZCBzdHJlc3MgZXhjZWVkcyBhbGxvd2FibGUgYmVuZGluZyBzdHJlc3MuIiwiQ1JJVElDQUwiKTt9CmZ1bmN0aW9uIGNhbGN1bGF0ZSgpe3ZhciB0b3JxdWU9Z2V0VG9ycXVlKCksZD1nZXRQaXRjaERpYW1ldGVyKCksYj1wYXJzZVBvc2l0aXZlKGVscy5mYWNlV2lkdGgpLHNpZ21hQWxsb3c9cGFyc2VQb3NpdGl2ZShlbHMuYWxsb3dhYmxlU3RyZXNzKSxhbmdsZUtleT1lbHMucHJlc3N1cmVBbmdsZS52YWx1ZSxuPWdldE51bVRlZXRoKCksbXA9Z2V0TW9kdWxlT3JQZCgpLHRMPXN0YXRlLnVuaXQ9PT0ic2kiPyJOLW0iOiJsYi1pbiIsZEw9c3RhdGUudW5pdD09PSJzaSI/Im1tIjoiaW4iO2Vscy5kZXJpdmVkVG9ycXVlLnRleHRDb250ZW50PXRvcnF1ZSE9PW51bGw/IlQgPSAiK2ZtdCh0b3JxdWUsMikrIiAiK3RMOiJUID0gIitOQTtlbHMuZGVyaXZlZERpYW1ldGVyLnRleHRDb250ZW50PWQhPT1udWxsPyJkID0gIitmbXQoZCwyKSsiICIrZEw6ImQgPSAiK05BO2lmKG1wIT09bnVsbCl7aWYoc3RhdGUudW5pdD09PSJzaSIpe2Vscy5kZXJpdmVkTW9kdWxlLnRleHRDb250ZW50PSJtID0gIitmbXQobXAsNCkrIiBtbSI7ZWxzLmRlcml2ZWRNb2R1bGVMYWJlbC50ZXh0Q29udGVudD0iTW9kdWxlIGZvciBMZXdpcyBzdHJlc3MgKFNJKSI7fWVsc2V7ZWxzLmRlcml2ZWRNb2R1bGUudGV4dENvbnRlbnQ9IlBkID0gIitmbXQobXAsMykrIiB0ZWV0aC9pbiI7ZWxzLmRlcml2ZWRNb2R1bGVMYWJlbC50ZXh0Q29udGVudD0iRGlhbWV0cmFsIHBpdGNoIGZvciBMZXdpcyBzdHJlc3MgKEltcGVyaWFsKSI7fX1lbHNlIGVscy5kZXJpdmVkTW9kdWxlLnRleHRDb250ZW50PXN0YXRlLnVuaXQ9PT0ic2kiPyJtID0gIitOQToiUGQgPSAiK05BO2lmKHRvcnF1ZT09PW51bGx8fGQ9PT1udWxsfHxiPT09bnVsbHx8bj09PW51bGx8fG1wPT09bnVsbHx8c2lnbWFBbGxvdz09PW51bGwpe3NldFJlc3VsdHMobnVsbCxudWxsLG51bGwsbnVsbCk7c2V0U3RhdHVzKCJsZ2MtbmV1dHJhbCIsIkludmFsaWQgSW5wdXQiLCJQbGVhc2UgZW50ZXIgdmFsaWQgcG9zaXRpdmUgdmFsdWVzIGZvciBhbGwgcmVxdWlyZWQgcGFyYW1ldGVycy4iLE5BKTtlbHMucmVzdWx0c1NlY3Rpb24uY2xhc3NMaXN0LnJlbW92ZSgibGdjLWhpZGRlbiIpO3JldHVybjt9dmFyIGZ0PXN0YXRlLnVuaXQ9PT0ic2kiPygyMDAwKnRvcnF1ZSkvZDooMip0b3JxdWUpL2QseT1sb29rdXBZKG4sYW5nbGVLZXkpO2lmKHk9PT1udWxsKXtzZXRSZXN1bHRzKGZ0LG51bGwsbnVsbCxudWxsKTtzZXRTdGF0dXMoImxnYy1uZXV0cmFsIiwiSW52YWxpZCBUb290aCBDb3VudCIsIk51bWJlciBvZiB0ZWV0aCBtdXN0IGJlIGF0IGxlYXN0IDYgZm9yIFkgZmFjdG9yIGxvb2t1cC4iLE5BKTtlbHMucmVzdWx0c1NlY3Rpb24uY2xhc3NMaXN0LnJlbW92ZSgibGdjLWhpZGRlbiIpO3JldHVybjt9dmFyIHNpZ21hPXN0YXRlLnVuaXQ9PT0ic2kiP2Z0LyhtcCpiKnkpOihmdCptcCkvKGIqeSksc2Y9c2lnbWFBbGxvdy9zaWdtYTtzZXRSZXN1bHRzKGZ0LHksc2lnbWEsc2YpO3VwZGF0ZVNhZmV0eVN0YXR1cyhzZixzaWdtYSxzaWdtYUFsbG93KTtlbHMucmVzdWx0c1NlY3Rpb24uY2xhc3NMaXN0LnJlbW92ZSgibGdjLWhpZGRlbiIpO30KZnVuY3Rpb24gdXBkYXRlVW5pdExhYmVscygpe3ZhciBzaT1zdGF0ZS51bml0PT09InNpIjtlbHMucG93ZXJVbml0LnRleHRDb250ZW50PXNpPyJrVyI6ImhwIjtlbHMudG9ycXVlVW5pdC50ZXh0Q29udGVudD1zaT8iTi1tIjoibGItaW4iO2Vscy5kaWFtZXRlclVuaXQudGV4dENvbnRlbnQ9c2k/Im1tIjoiaW4iO2Vscy5mYWNlV2lkdGhVbml0LnRleHRDb250ZW50PXNpPyJtbSI6ImluIjtlbHMubW9kdWxlUGl0Y2hVbml0LnRleHRDb250ZW50PXNpPyJtbSI6InRlZXRoL2luIjtlbHMubW9kdWxlUGl0Y2hMYWJlbC50ZXh0Q29udGVudD1zaT8iTW9kdWxlIChtKSI6IkRpYW1ldHJhbCBQaXRjaCAoUGQpIjtlbHMuc3RyZXNzVW5pdC50ZXh0Q29udGVudD1zaT8iTVBhIjoicHNpIjtlbHMucmVzdWx0RnRVbml0LnRleHRDb250ZW50PXNpPyJOIjoibGJmIjtlbHMucmVzdWx0U2lnbWFVbml0LnRleHRDb250ZW50PXNpPyJNUGEiOiJwc2kiO2lmKHNpKXtpZihlbHMucG93ZXIudmFsdWU9PT0iMjAiKWVscy5wb3dlci52YWx1ZT0iMTUiO2lmKGVscy5waXRjaERpYW1ldGVyLnZhbHVlPT09IjQuNzI0IillbHMucGl0Y2hEaWFtZXRlci52YWx1ZT0iMTIwIjtpZihlbHMuZmFjZVdpZHRoLnZhbHVlPT09IjAuOTg0IillbHMuZmFjZVdpZHRoLnZhbHVlPSIyNSI7aWYoZWxzLmFsbG93YWJsZVN0cmVzcy52YWx1ZT09PSIyOTAwMCIpZWxzLmFsbG93YWJsZVN0cmVzcy52YWx1ZT0iMjAwIjtpZihlbHMubW9kdWxlUGl0Y2gudmFsdWU9PT0iNS4wOCIpZWxzLm1vZHVsZVBpdGNoLnZhbHVlPSI1Ijt9ZWxzZXtpZihlbHMucG93ZXIudmFsdWU9PT0iMTUiKWVscy5wb3dlci52YWx1ZT0iMjAiO2lmKGVscy5waXRjaERpYW1ldGVyLnZhbHVlPT09IjEyMCIpZWxzLnBpdGNoRGlhbWV0ZXIudmFsdWU9IjQuNzI0IjtpZihlbHMuZmFjZVdpZHRoLnZhbHVlPT09IjI1IillbHMuZmFjZVdpZHRoLnZhbHVlPSIwLjk4NCI7aWYoZWxzLmFsbG93YWJsZVN0cmVzcy52YWx1ZT09PSIyMDAiKWVscy5hbGxvd2FibGVTdHJlc3MudmFsdWU9IjI5MDAwIjtpZihlbHMubW9kdWxlUGl0Y2gudmFsdWU9PT0iNSIpZWxzLm1vZHVsZVBpdGNoLnZhbHVlPSI1LjA4Ijt9fQpmdW5jdGlvbiBzZXRVbml0KHUpe3N0YXRlLnVuaXQ9dTtyb290LnF1ZXJ5U2VsZWN0b3JBbGwoIiNsZ2MtdW5pdFRvZ2dsZSBidXR0b24iKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuY2xhc3NMaXN0LnRvZ2dsZSgibGdjLWFjdGl2ZSIsYi5kYXRhc2V0LnVuaXQ9PT11KTt9KTt1cGRhdGVVbml0TGFiZWxzKCk7aGlkZVJlc3VsdHMoKTt9CmZ1bmN0aW9uIHNldFRvcnF1ZU1vZGUobSl7c3RhdGUudG9ycXVlTW9kZT1tO3Jvb3QucXVlcnlTZWxlY3RvckFsbCgiI2xnYy10b3JxdWVNb2RlVGFicyBidXR0b24iKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuY2xhc3NMaXN0LnRvZ2dsZSgibGdjLWFjdGl2ZSIsYi5kYXRhc2V0Lm1vZGU9PT1tKTt9KTtlbHMucG93ZXJJbnB1dHMuY2xhc3NMaXN0LnRvZ2dsZSgibGdjLWhpZGRlbiIsbSE9PSJwb3dlciIpO2Vscy50b3JxdWVJbnB1dHMuY2xhc3NMaXN0LnRvZ2dsZSgibGdjLWhpZGRlbiIsbSE9PSJ0b3JxdWUiKTtoaWRlUmVzdWx0cygpO30KZnVuY3Rpb24gc2V0RGlhbWV0ZXJNb2RlKG0pe3N0YXRlLmRpYW1ldGVyTW9kZT1tO3Jvb3QucXVlcnlTZWxlY3RvckFsbCgiI2xnYy1kaWFtZXRlck1vZGVUYWJzIGJ1dHRvbiIpLmZvckVhY2goZnVuY3Rpb24oYil7Yi5jbGFzc0xpc3QudG9nZ2xlKCJsZ2MtYWN0aXZlIixiLmRhdGFzZXQubW9kZT09PW0pO30pO2Vscy5kaWFtZXRlcklucHV0cy5jbGFzc0xpc3QudG9nZ2xlKCJsZ2MtaGlkZGVuIixtIT09ImRpYW1ldGVyIik7ZWxzLnRlZXRoSW5wdXRzLmNsYXNzTGlzdC50b2dnbGUoImxnYy1oaWRkZW4iLG0hPT0idGVldGgiKTtoaWRlUmVzdWx0cygpO30Kcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIjbGdjLXVuaXRUb2dnbGUgYnV0dG9uIikuZm9yRWFjaChmdW5jdGlvbihiKXtiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3NldFVuaXQoYi5kYXRhc2V0LnVuaXQpO30pO30pOwpyb290LnF1ZXJ5U2VsZWN0b3JBbGwoIiNsZ2MtdG9ycXVlTW9kZVRhYnMgYnV0dG9uIikuZm9yRWFjaChmdW5jdGlvbihiKXtiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3NldFRvcnF1ZU1vZGUoYi5kYXRhc2V0Lm1vZGUpO30pO30pOwpyb290LnF1ZXJ5U2VsZWN0b3JBbGwoIiNsZ2MtZGlhbWV0ZXJNb2RlVGFicyBidXR0b24iKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7c2V0RGlhbWV0ZXJNb2RlKGIuZGF0YXNldC5tb2RlKTt9KTt9KTsKaWYoZWxzLmNhbGNCdG4pe2Vscy5jYWxjQnRuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixjYWxjdWxhdGUpO3Jvb3QucXVlcnlTZWxlY3RvckFsbCgiaW5wdXQsIHNlbGVjdCIpLmZvckVhY2goZnVuY3Rpb24oaW5wKXtpbnAuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGhpZGVSZXN1bHRzKTtpbnAuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixoaWRlUmVzdWx0cyk7fSk7dXBkYXRlVW5pdExhYmVscygpO30KfSkoKTs=