Share this vehicle

Enquire Now

23,502 km
Automatic
Coupe
Rosso Corsa
Vehicle Details
Price: $498,880 Ex Gov't Charges*
Category: Used
Kilometres: 23,502 km
Fuel Consumption: 15L/100km
Body Type: Coupe, 2 doors, 2 seats
Engine: Petrol - Premium ULP Aspirated, 6.3L
Exterior Colour: Rosso Corsa
Interior Colour: Beige
Reg Plate: BERLINETTA16
Reg Expiry: July 2026
Build Date: July 2016
Compliance Date: October 2016
Drive Type: Rear Wheel Drive
Stock #: SG1232328888
VIN: WD19ASG1232328888
Dealer Comments

2016 Ferrari F12 Berlinetta

THE FOREFATHER OF THE SUPERFAST COMPETIZIONE

A remarkable mighty V12 Ferrari Grand-tourer
Finished in the iconic Ferrari color scheme: ROSSO CORSA with BEIGE Leather interior.
Books, Spare key and Up-to-date Ferrari service history.
Up-to-date service by Ferrari.
Complete with books, history, car cover, spare key and trickle charger.

AN ICONIC BERLINETTA

ONE LOOK IS ALL THAT IT WOULD TAKE.

Wonderfully Optioned :

• F12 BERLINETTA
• ROSSO CORSA with BEIGE
• CAVALLINO Embossed on Headrests
• Carbon Fibre Driver Zone + LEDS
• Suspension Lifter
• Advanced Front Light System
• Cruise Control
• Carbon Ceramic Brakes
• Red Brake Calipers
• Black insert - Outer Mirror
• Heat Insulating Windscreen
• Scuderia Ferrari Shields
• Int/Ext Electrochromic Mirrors
• Reversing Camera
• Front & Rear Sensors
• Passenger Display
• Sport Sill Cover
• Full Electric Seats
• High Power HIFI System
• TPMS

~~~~~~~~~~~~~~~~~~~~~~~~~~~

AVAILABLE FOR IMMEDIATE DELIVERY & AS ALWAYS, HAPPY MOTORING….!
Our team is committed to offering the best selection of European Prestige and Sports Cars.
Our aim is to always have on offer, the best motor cars available at the most competitive prices.

* Price excludes Statutory charges

INTERSTATE VEHICLE SALE:
• Cars will be sold unregistered
• Short term Drive Permit provided
• NSW "Pink-Slip" supplied

NSW VEHICLE SALE:
• Stamp Duty should be paid to the dealer prior to collection, or otherwise within 14 days of invoice when transferred by client.

• Finance and Insurance available
• Australia-wide delivery available
• Trade-ins are welcomed
• Crypto currency accepted
• E&OE

PLEASE NOTE:
Various details are automatically supplied by Redbook and may or may not be specific to the model.
All due diligence enquiries ought to be made by the buyer with the original selling dealer or the manufacturer.

Dimensions & weights (8)
Width:
1942 mm
Height:
1273 mm
Length:
4618 mm
Tare Mass:
1656 kg
Wheelbase:
2720 mm
Track Rear:
1618 mm
Kerb Weight:
1630 kg
Track Front:
1665 mm
Engine (18)
Power:
545.0kW @ 8250rpm
Torque:
690Nm @ 6000-8700rpm
Camshaft:
DOHC with VVT
Cylinders:
12
Induction:
Aspirated
Engine type:
Piston
Power rpm To:
8250 rpm
Torque rpm To:
8700 rpm
Engine Location:
Front
Engine Size (L):
6.3 L
Torque rpm From:
6000 rpm
Engine Size (cc):
6262 cc
Compression ratio:
13.5
Generic Engine Type:
Piston
Engine Configuration:
V65
Power to Weight Ratio:
329.1 kW/t
Acceleration 0-100km/h:
3.1 s
Valves/Ports per Cylinder:
4
Fuel (7)
Fuel Type:
Petrol - Premium ULP
Fuel Capacity:
92 L
Fuel Delivery:
Direct Injection
Method of Delivery:
Electronic Sequential
CO2 Emission Combined:
350 g/km
Fuel Average Distance:
613 km
Fuel Consumption Combined:
15 L/100km
Other (9)
Badge:
(No Badge)
Doors:
2
Series:
F152
Body Style:
Coupe
Launch Year:
2013
Launch Month:
1
Seat Capacity:
2
Generation Name:
F152
Country of Origin:
ITALY
P plate status (1)
NSW Probationary Status:
Banned
Safety & Security (1)
Number of Airbags:
4
Transmission & drivetrain (4)
Drive:
Rear Wheel Drive
Gears:
7
Gear Type:
Sports Automatic Dual Clutch
Gear Location:
Floor
Warranty & service (5)
Warranty in Km:
Unlimited km
Warranty Customer Assistance:
3yr Roadside
Regular Service Interval in Km:
20000 km
Regular Service Interval in Months:
12 mth
Warranty in Years from First Registration:
3 yr
Wheels & tyres (5)
Rim Material:
Alloy
Rear Rim Description:
20x11.5
Front Rim Description:
20x9.5
Rear Tyre Description:
315/35 R20
Front Tyre Description:
255/35 R20

Specifications are based on manufacturer standard specifications. Actual features and specifications for this vehicle may differ. Please confirm these details with the seller.

Contact Scuderia Graziani
Monday: 9:00am - 6:00pm
Tuesday: 9:00am - 6:00pm
Wednesday: 9:00am - 6:00pm
Thursday: 9:00am - 6:00pm
Friday: 9:00am - 6:00pm
Saturday: 9:00am - 6:00pm
Sunday: By Appointment Only

* If the price does not contain the notation that it is "Drive Away", the price may not include additional costs, such as stamp duty and other government charges. Please confirm price and features with the seller of the vehicle.

JOIN THE SCUDERIA GRAZIANI COMMUNITY
DREAM CARS, NEW ARRIVALS, LATEST EVENTS!
PHNjcmlwdD4KdmFyIGdmb3JtO2dmb3JtfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2Zvcm1fbWFpbl9zY3JpcHRzX2xvYWRlZCIsZnVuY3Rpb24oKXtnZm9ybS5zY3JpcHRzTG9hZGVkPSEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2Zvcm0vdGhlbWUvc2NyaXB0c19sb2FkZWQiLGZ1bmN0aW9uKCl7Z2Zvcm0udGhlbWVTY3JpcHRzTG9hZGVkPSEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGZ1bmN0aW9uKCl7Z2Zvcm0uZG9tTG9hZGVkPSEwfSksZ2Zvcm09e2RvbUxvYWRlZDohMSxzY3JpcHRzTG9hZGVkOiExLHRoZW1lU2NyaXB0c0xvYWRlZDohMSxpc0Zvcm1FZGl0b3I6KCk9PiJmdW5jdGlvbiI9PXR5cGVvZiBJbml0aWFsaXplRWRpdG9yLGNhbGxJZkxvYWRlZDpmdW5jdGlvbihvKXtyZXR1cm4hKCFnZm9ybS5kb21Mb2FkZWR8fCFnZm9ybS5zY3JpcHRzTG9hZGVkfHwhZ2Zvcm0udGhlbWVTY3JpcHRzTG9hZGVkJiYhZ2Zvcm0uaXNGb3JtRWRpdG9yKCl8fChnZm9ybS5pc0Zvcm1FZGl0b3IoKSYmY29uc29sZS53YXJuKCJUaGUgdXNlIG9mIGdmb3JtLmluaXRpYWxpemVPbkxvYWRlZCgpIGlzIGRlcHJlY2F0ZWQgaW4gdGhlIGZvcm0gZWRpdG9yIGNvbnRleHQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBHcmF2aXR5IEZvcm1zIDMuMS4iKSxvKCksMCkpfSxpbml0aWFsaXplT25Mb2FkZWQ6ZnVuY3Rpb24obyl7Z2Zvcm0uY2FsbElmTG9hZGVkKG8pfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2Zvcm1fbWFpbl9zY3JpcHRzX2xvYWRlZCIsKCk9PntnZm9ybS5zY3JpcHRzTG9hZGVkPSEwLGdmb3JtLmNhbGxJZkxvYWRlZChvKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImdmb3JtL3RoZW1lL3NjcmlwdHNfbG9hZGVkIiwoKT0+e2dmb3JtLnRoZW1lU2NyaXB0c0xvYWRlZD0hMCxnZm9ybS5jYWxsSWZMb2FkZWQobyl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCk9PntnZm9ybS5kb21Mb2FkZWQ9ITAsZ2Zvcm0uY2FsbElmTG9hZGVkKG8pfSkpfSxob29rczp7YWN0aW9uOnt9LGZpbHRlcjp7fX0sYWRkQWN0aW9uOmZ1bmN0aW9uKG8scixlLHQpe2dmb3JtLmFkZEhvb2soImFjdGlvbiIsbyxyLGUsdCl9LGFkZEZpbHRlcjpmdW5jdGlvbihvLHIsZSx0KXtnZm9ybS5hZGRIb29rKCJmaWx0ZXIiLG8scixlLHQpfSxkb0FjdGlvbjpmdW5jdGlvbihvKXtnZm9ybS5kb0hvb2soImFjdGlvbiIsbyxhcmd1bWVudHMpfSxhcHBseUZpbHRlcnM6ZnVuY3Rpb24obyl7cmV0dXJuIGdmb3JtLmRvSG9vaygiZmlsdGVyIixvLGFyZ3VtZW50cyl9LHJlbW92ZUFjdGlvbjpmdW5jdGlvbihvLHIpe2dmb3JtLnJlbW92ZUhvb2soImFjdGlvbiIsbyxyKX0scmVtb3ZlRmlsdGVyOmZ1bmN0aW9uKG8scixlKXtnZm9ybS5yZW1vdmVIb29rKCJmaWx0ZXIiLG8scixlKX0sYWRkSG9vazpmdW5jdGlvbihvLHIsZSx0LG4pe251bGw9PWdmb3JtLmhvb2tzW29dW3JdJiYoZ2Zvcm0uaG9va3Nbb11bcl09W10pO3ZhciBkPWdmb3JtLmhvb2tzW29dW3JdO251bGw9PW4mJihuPXIrIl8iK2QubGVuZ3RoKSxnZm9ybS5ob29rc1tvXVtyXS5wdXNoKHt0YWc6bixjYWxsYWJsZTplLHByaW9yaXR5OnQ9bnVsbD09dD8xMDp0fSl9LGRvSG9vazpmdW5jdGlvbihyLG8sZSl7dmFyIHQ7aWYoZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLDEpLG51bGwhPWdmb3JtLmhvb2tzW3JdW29dJiYoKG89Z2Zvcm0uaG9va3Nbcl1bb10pLnNvcnQoZnVuY3Rpb24obyxyKXtyZXR1cm4gby5wcmlvcml0eS1yLnByaW9yaXR5fSksby5mb3JFYWNoKGZ1bmN0aW9uKG8peyJmdW5jdGlvbiIhPXR5cGVvZih0PW8uY2FsbGFibGUpJiYodD13aW5kb3dbdF0pLCJhY3Rpb24iPT1yP3QuYXBwbHkobnVsbCxlKTplWzBdPXQuYXBwbHkobnVsbCxlKX0pKSwiZmlsdGVyIj09cilyZXR1cm4gZVswXX0scmVtb3ZlSG9vazpmdW5jdGlvbihvLHIsdCxuKXt2YXIgZTtudWxsIT1nZm9ybS5ob29rc1tvXVtyXSYmKGU9KGU9Z2Zvcm0uaG9va3Nbb11bcl0pLmZpbHRlcihmdW5jdGlvbihvLHIsZSl7cmV0dXJuISEobnVsbCE9biYmbiE9by50YWd8fG51bGwhPXQmJnQhPW8ucHJpb3JpdHkpfSksZ2Zvcm0uaG9va3Nbb11bcl09ZSl9fSk7Cjwvc2NyaXB0PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmX2Jyb3dzZXJfY2hyb21lIGdmb3JtX3dyYXBwZXIgZ3Jhdml0eS10aGVtZSBnZm9ybS10aGVtZS0tbm8tZnJhbWV3b3JrIGpvaW4tY29tbXVuaXR5X3dyYXBwZXInIGRhdGEtZm9ybS10aGVtZT0nZ3Jhdml0eS10aGVtZScgZGF0YS1mb3JtLWluZGV4PScwJyBpZD0nZ2Zvcm1fd3JhcHBlcl82JyA+PGRpdiBpZD0nZ2ZfNicgY2xhc3M9J2dmb3JtX2FuY2hvcicgdGFiaW5kZXg9Jy0xJz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1faGVhZGluZyc+CgkJCQkJCQk8cCBjbGFzcz0nZ2Zvcm1fcmVxdWlyZWRfbGVnZW5kJz48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pjxmb3JtIG1ldGhvZD0ncG9zdCcgZW5jdHlwZT0nbXVsdGlwYXJ0L2Zvcm0tZGF0YScgdGFyZ2V0PSdnZm9ybV9hamF4X2ZyYW1lXzYnIGlkPSdnZm9ybV82JyBjbGFzcz0nam9pbi1jb21tdW5pdHknIGFjdGlvbj0nL2NsaWVudGVsZSNnZl82JyBkYXRhLWZvcm1pZD0nNicgbm92YWxpZGF0ZT4gDQogPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3Jtcy1wdW0nIHZhbHVlPSd7ImNsb3NlcG9wdXAiOmZhbHNlLCJjbG9zZWRlbGF5IjowLCJvcGVucG9wdXAiOmZhbHNlLCJvcGVucG9wdXBfaWQiOjB9JyAvPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybS1ib2R5IGdmb3JtX2JvZHknPjxkaXYgaWQ9J2dmb3JtX2ZpZWxkc182JyBjbGFzcz0nZ2Zvcm1fZmllbGRzIHRvcF9sYWJlbCBmb3JtX3N1YmxhYmVsX2JlbG93IGRlc2NyaXB0aW9uX2JlbG93IHZhbGlkYXRpb25fYmVsb3cnPjxkaXYgaWQ9ImZpZWxkXzZfOCIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtaG9uZXlwb3QgZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIgZmllbGRfc3VibGFiZWxfYmVsb3cgZ2ZpZWxkLS1oYXMtZGVzY3JpcHRpb24gZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgZmllbGRfdmFsaWRhdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlIiAgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsIGdmb3JtLWZpZWxkLWxhYmVsJyBmb3I9J2lucHV0XzZfOCc+UGhvbmU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF84JyBpZD0naW5wdXRfNl84JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBhdXRvY29tcGxldGU9J25ldy1wYXNzd29yZCcvPjwvZGl2PjxkaXYgY2xhc3M9J2dmaWVsZF9kZXNjcmlwdGlvbicgaWQ9J2dmaWVsZF9kZXNjcmlwdGlvbl82XzgnPlRoaXMgZmllbGQgaXMgZm9yIHZhbGlkYXRpb24gcHVycG9zZXMgYW5kIHNob3VsZCBiZSBsZWZ0IHVuY2hhbmdlZC48L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWVsZF82XzEiIGNsYXNzPSJnZmllbGQgZ2ZpZWxkLS10eXBlLXRleHQgZ2ZpZWxkLS1pbnB1dC10eXBlLXRleHQgZ2ZpZWxkLS13aWR0aC10aGlyZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZ2ZpZWxkLS1uby1kZXNjcmlwdGlvbiBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBoaWRkZW5fbGFiZWwgZmllbGRfdmFsaWRhdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlIiAgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsIGdmb3JtLWZpZWxkLWxhYmVsJyBmb3I9J2lucHV0XzZfMSc+Rmlyc3QgTmFtZTxzcGFuIGNsYXNzPSJnZmllbGRfcmVxdWlyZWQiPjxzcGFuIGNsYXNzPSJnZmllbGRfcmVxdWlyZWQgZ2ZpZWxkX3JlcXVpcmVkX2FzdGVyaXNrIj4qPC9zcGFuPjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl90ZXh0Jz48aW5wdXQgbmFtZT0naW5wdXRfMScgaWQ9J2lucHV0XzZfMScgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J2xhcmdlJyAgICBwbGFjZWhvbGRlcj0nRmlyc3QgTmFtZScgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgICAvPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImZpZWxkXzZfMiIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtdGV4dCBnZmllbGQtLWlucHV0LXR5cGUtdGV4dCBnZmllbGQtLXdpZHRoLXRoaXJkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBnZmllbGQtLW5vLWRlc2NyaXB0aW9uIGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGhpZGRlbl9sYWJlbCBmaWVsZF92YWxpZGF0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUiICA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwgZ2Zvcm0tZmllbGQtbGFiZWwnIGZvcj0naW5wdXRfNl8yJz5MYXN0IE5hbWU8c3BhbiBjbGFzcz0iZ2ZpZWxkX3JlcXVpcmVkIj48c3BhbiBjbGFzcz0iZ2ZpZWxkX3JlcXVpcmVkIGdmaWVsZF9yZXF1aXJlZF9hc3RlcmlzayI+Kjwvc3Bhbj48L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyIGdpbnB1dF9jb250YWluZXJfdGV4dCc+PGlucHV0IG5hbWU9J2lucHV0XzInIGlkPSdpbnB1dF82XzInIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdsYXJnZScgICAgcGxhY2Vob2xkZXI9J0xhc3QgTmFtZScgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgICAvPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImZpZWxkXzZfNCIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtZW1haWwgZ2ZpZWxkLS1pbnB1dC10eXBlLWVtYWlsIGdmaWVsZC0td2lkdGgtdGhpcmQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGdmaWVsZC0tbm8tZGVzY3JpcHRpb24gZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgaGlkZGVuX2xhYmVsIGZpZWxkX3ZhbGlkYXRpb25fYmVsb3cgZ2ZpZWxkX3Zpc2liaWxpdHlfdmlzaWJsZSIgID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCBnZm9ybS1maWVsZC1sYWJlbCcgZm9yPSdpbnB1dF82XzQnPkVtYWlsPHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCI+PHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCBnZmllbGRfcmVxdWlyZWRfYXN0ZXJpc2siPio8L3NwYW4+PC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX2VtYWlsJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSdpbnB1dF80JyBpZD0naW5wdXRfNl80JyB0eXBlPSdlbWFpbCcgdmFsdWU9JycgY2xhc3M9J2xhcmdlJyAgIHBsYWNlaG9sZGVyPSdFbWFpbCcgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjxkaXYgaWQ9ImZpZWxkXzZfNSIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtc2VsZWN0IGdmaWVsZC0taW5wdXQtdHlwZS1zZWxlY3QgZ2ZpZWxkLS13aWR0aC10d28tdGhpcmRzIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBnZmllbGQtLW5vLWRlc2NyaXB0aW9uIGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGhpZGRlbl9sYWJlbCBmaWVsZF92YWxpZGF0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUiICA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwgZ2Zvcm0tZmllbGQtbGFiZWwnIGZvcj0naW5wdXRfNl81Jz5XaGF0IGludGVyZXN0cyB5b3U/PHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCI+PHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCBnZmllbGRfcmVxdWlyZWRfYXN0ZXJpc2siPio8L3NwYW4+PC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX3NlbGVjdCc+PHNlbGVjdCBuYW1lPSdpbnB1dF81JyBpZD0naW5wdXRfNl81JyBjbGFzcz0nbGFyZ2UgZ2ZpZWxkX3NlbGVjdCcgICAgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgPjxvcHRpb24gdmFsdWU9Jycgc2VsZWN0ZWQ9J3NlbGVjdGVkJyBjbGFzcz0nZ2ZfcGxhY2Vob2xkZXInPldoYXQgaW50ZXJlc3RzIHlvdT88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYXJzOiBMYXRlc3QgQXJyaXZhbHMgJmFtcDsgU3RvY2snID5DYXJzOiBMYXRlc3QgQXJyaXZhbHMgJmFtcDsgU3RvY2s8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXdzOiBTRyBOZXdzJyA+TmV3czogU0cgTmV3czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpZmVzdHlsZScgPkxpZmVzdHlsZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsbCBvZiB0aGUgYWJvdmUnID5BbGwgb2YgdGhlIGFib3ZlPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9kaXY+PGRpdiBpZD0iZmllbGRfNl82IiBjbGFzcz0iZ2ZpZWxkIGdmaWVsZC0tdHlwZS1oaWRkZW4gZ2ZpZWxkLS1pbnB1dC10eXBlLWhpZGRlbiBnZmllbGQtLXdpZHRoLWZ1bGwgZ2Zvcm1faGlkZGVuIGZpZWxkX3N1YmxhYmVsX2JlbG93IGdmaWVsZC0tbm8tZGVzY3JpcHRpb24gZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgZmllbGRfdmFsaWRhdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlIiAgPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl90ZXh0Jz48aW5wdXQgbmFtZT0naW5wdXRfNicgaWQ9J2lucHV0XzZfNicgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyAgYXJpYS1pbnZhbGlkPSJmYWxzZSIgdmFsdWU9J0NsaWVudGVsZScgLz48L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWVsZF82XzciIGNsYXNzPSJnZmllbGQgZ2ZpZWxkLS10eXBlLWhpZGRlbiBnZmllbGQtLWlucHV0LXR5cGUtaGlkZGVuIGdmaWVsZC0td2lkdGgtZnVsbCBnZm9ybV9oaWRkZW4gZmllbGRfc3VibGFiZWxfYmVsb3cgZ2ZpZWxkLS1uby1kZXNjcmlwdGlvbiBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBmaWVsZF92YWxpZGF0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUiICA+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX3RleHQnPjxpbnB1dCBuYW1lPSdpbnB1dF83JyBpZD0naW5wdXRfNl83JyB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nICBhcmlhLWludmFsaWQ9ImZhbHNlIiB2YWx1ZT0naHR0cHM6Ly93d3cuc2N1ZGVyaWFncmF6aWFuaS5jb20vY2xpZW50ZWxlJyAvPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtLWZvb3RlciBnZm9ybV9mb290ZXIgdG9wX2xhYmVsJz4gPGJ1dHRvbiBjbGFzcz0nYnV0dG9uJyB0eXBlPSdzdWJtaXQnIGlkPSdnZm9ybV9zdWJtaXRfYnV0dG9uXzYnPlN1YnNjcmliZTwvYnV0dG9uPiA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9hamF4JyB2YWx1ZT0nZm9ybV9pZD02JmFtcDt0aXRsZT0mYW1wO2Rlc2NyaXB0aW9uPSZhbXA7dGFiaW5kZXg9MCZhbXA7dGhlbWU9Z3Jhdml0eS10aGVtZSZhbXA7c3R5bGVzPVtdJmFtcDtoYXNoPWZhZWEyOTMxNTQ1MTQwMzM4ZGNhMjNjOTkzYTQxYzFhJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zdWJtaXNzaW9uX21ldGhvZCcgZGF0YS1qcz0nZ2Zvcm1fc3VibWlzc2lvbl9tZXRob2RfNicgdmFsdWU9J2lmcmFtZScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdGhlbWUnIGRhdGEtanM9J2dmb3JtX3RoZW1lXzYnIGlkPSdnZm9ybV90aGVtZV82JyB2YWx1ZT0nZ3Jhdml0eS10aGVtZScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3R5bGVfc2V0dGluZ3MnIGRhdGEtanM9J2dmb3JtX3N0eWxlX3NldHRpbmdzXzYnIGlkPSdnZm9ybV9zdHlsZV9zZXR0aW5nc182JyB2YWx1ZT0nW10nIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF82JyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nNicgLz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX2N1cnJlbmN5JyBkYXRhLWN1cnJlbmN5PSdBVUQnIHZhbHVlPSdtbnNlR1M4VUwyZ3pBd2pmZUQ4NDY2TWp2aGtaNFFQK0Ezd3RjM0ExNERLV0sxNkE0cUVWdjRpNWtsZ1psUU40SGpWcjRyc0NrNDJyMkZDUFd6ZzJ4L3JrN05sNmtiQ0JEelBuSHVKdXcrVWtpVXM9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV91bmlxdWVfaWQnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J3N0YXRlXzYnIHZhbHVlPSdXeUpiWFNJc0lqSXhORFUxWW1VNU5qQXdZMlJtT0RSa05EbGpaR0U0WTJGallqVTNOVGhqSWwwPScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgYXV0b2NvbXBsZXRlPSdvZmYnIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl82JyBpZD0nZ2Zvcm1fdGFyZ2V0X3BhZ2VfbnVtYmVyXzYnIHZhbHVlPScwJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBhdXRvY29tcGxldGU9J29mZicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzYnIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfNicgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJICAgICAgICAgICAgICAgIDxpZnJhbWUgc3R5bGU9J2Rpc3BsYXk6bm9uZTt3aWR0aDowcHg7aGVpZ2h0OjBweDsnIHNyYz0nYWJvdXQ6YmxhbmsnIG5hbWU9J2dmb3JtX2FqYXhfZnJhbWVfNicgaWQ9J2dmb3JtX2FqYXhfZnJhbWVfNicgdGl0bGU9J1RoaXMgaWZyYW1lIGNvbnRhaW5zIHRoZSBsb2dpYyByZXF1aXJlZCB0byBoYW5kbGUgQWpheCBwb3dlcmVkIEdyYXZpdHkgRm9ybXMuJz48L2lmcmFtZT4KCQkgICAgICAgICAgICAgICAgPHNjcmlwdD4KZ2Zvcm0uaW5pdGlhbGl6ZU9uTG9hZGVkKCBmdW5jdGlvbigpIHtnZm9ybUluaXRTcGlubmVyKCA2LCAnaHR0cHM6Ly93d3cuc2N1ZGVyaWFncmF6aWFuaS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5zdmcnLCB0cnVlICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV82Jykub24oJ2xvYWQnLGZ1bmN0aW9uKCl7dmFyIGNvbnRlbnRzID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnKicpLmh0bWwoKTt2YXIgaXNfcG9zdGJhY2sgPSBjb250ZW50cy5pbmRleE9mKCdHRl9BSkFYX1BPU1RCQUNLJykgPj0gMDtpZighaXNfcG9zdGJhY2spe3JldHVybjt9dmFyIGZvcm1fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV93cmFwcGVyXzYnKTt2YXIgaXNfY29uZmlybWF0aW9uID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyXzYnKS5sZW5ndGggPiAwO3ZhciBpc19yZWRpcmVjdCA9IGNvbnRlbnRzLmluZGV4T2YoJ2dmb3JtUmVkaXJlY3QoKXsnKSA+PSAwO3ZhciBpc19mb3JtID0gZm9ybV9jb250ZW50Lmxlbmd0aCA+IDAgJiYgISBpc19yZWRpcmVjdCAmJiAhIGlzX2NvbmZpcm1hdGlvbjt2YXIgbXQgPSBwYXJzZUludChqUXVlcnkoJ2h0bWwnKS5jc3MoJ21hcmdpbi10b3AnKSwgMTApICsgcGFyc2VJbnQoalF1ZXJ5KCdib2R5JykuY3NzKCdtYXJnaW4tdG9wJyksIDEwKSArIDEwMDtpZihpc19mb3JtKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzYnKS5odG1sKGZvcm1fY29udGVudC5odG1sKCkpO2lmKGZvcm1fY29udGVudC5oYXNDbGFzcygnZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcicpKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzYnKS5hZGRDbGFzcygnZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcicpO30gZWxzZSB7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl82JykucmVtb3ZlQ2xhc3MoJ2dmb3JtX3ZhbGlkYXRpb25fZXJyb3InKTt9c2V0VGltZW91dCggZnVuY3Rpb24oKSB7IC8qIGRlbGF5IHRoZSBzY3JvbGwgYnkgNTAgbWlsbGlzZWNvbmRzIHRvIGZpeCBhIGJ1ZyBpbiBjaHJvbWUgKi8galF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl82Jykub2Zmc2V0KCkudG9wIC0gbXQpOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzYnKS52YWwoKTtnZm9ybUluaXRTcGlubmVyKCA2LCAnaHR0cHM6Ly93d3cuc2N1ZGVyaWFncmF6aWFuaS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5zdmcnLCB0cnVlICk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wYWdlX2xvYWRlZCcsIFs2LCBjdXJyZW50X3BhZ2VdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfNiddID0gZmFsc2U7fWVsc2UgaWYoIWlzX3JlZGlyZWN0KXt2YXIgY29uZmlybWF0aW9uX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcuR0ZfQUpBWF9QT1NUQkFDSycpLmh0bWwoKTtpZighY29uZmlybWF0aW9uX2NvbnRlbnQpe2NvbmZpcm1hdGlvbl9jb250ZW50ID0gY29udGVudHM7fWpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfNicpLnJlcGxhY2VXaXRoKGNvbmZpcm1hdGlvbl9jb250ZW50KTtqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZl82Jykub2Zmc2V0KCkudG9wIC0gbXQpO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fY29uZmlybWF0aW9uX2xvYWRlZCcsIFs2XSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzYnXSA9IGZhbHNlO3dwLmExMXkuc3BlYWsoalF1ZXJ5KCcjZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2VfNicpLnRleHQoKSk7fWVsc2V7alF1ZXJ5KCcjZ2Zvcm1fNicpLmFwcGVuZChjb250ZW50cyk7aWYod2luZG93WydnZm9ybVJlZGlyZWN0J10pIHtnZm9ybVJlZGlyZWN0KCk7fX1qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoImdmb3JtX3ByZV9wb3N0X3JlbmRlciIsIFt7IGZvcm1JZDogIjYiLCBjdXJyZW50UGFnZTogImN1cnJlbnRfcGFnZSIsIGFib3J0OiBmdW5jdGlvbigpIHsgdGhpcy5wcmV2ZW50RGVmYXVsdCgpOyB9IH1dKTsgICAgICAgIGlmIChldmVudCAmJiBldmVudC5kZWZhdWx0UHJldmVudGVkKSB7ICAgICAgICAgICAgICAgIHJldHVybjsgICAgICAgIH0gICAgICAgIGNvbnN0IGdmb3JtV3JhcHBlckRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAiZ2Zvcm1fd3JhcHBlcl82IiApOyAgICAgICAgaWYgKCBnZm9ybVdyYXBwZXJEaXYgKSB7ICAgICAgICAgICAgY29uc3QgdmlzaWJpbGl0eVNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAic3BhbiIgKTsgICAgICAgICAgICB2aXNpYmlsaXR5U3Bhbi5pZCA9ICJnZm9ybV92aXNpYmlsaXR5X3Rlc3RfNiI7ICAgICAgICAgICAgZ2Zvcm1XcmFwcGVyRGl2Lmluc2VydEFkamFjZW50RWxlbWVudCggImFmdGVyZW5kIiwgdmlzaWJpbGl0eVNwYW4gKTsgICAgICAgIH0gICAgICAgIGNvbnN0IHZpc2liaWxpdHlUZXN0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoICJnZm9ybV92aXNpYmlsaXR5X3Rlc3RfNiIgKTsgICAgICAgIGxldCBwb3N0UmVuZGVyRmlyZWQgPSBmYWxzZTsgICAgICAgIGZ1bmN0aW9uIHRyaWdnZXJQb3N0UmVuZGVyKCkgeyAgICAgICAgICAgIGlmICggcG9zdFJlbmRlckZpcmVkICkgeyAgICAgICAgICAgICAgICByZXR1cm47ICAgICAgICAgICAgfSAgICAgICAgICAgIHBvc3RSZW5kZXJGaXJlZCA9IHRydWU7ICAgICAgICAgICAgZ2Zvcm0uY29yZS50cmlnZ2VyUG9zdFJlbmRlckV2ZW50cyggNiwgY3VycmVudF9wYWdlICk7ICAgICAgICAgICAgaWYgKCB2aXNpYmlsaXR5VGVzdERpdiApIHsgICAgICAgICAgICAgICAgdmlzaWJpbGl0eVRlc3REaXYucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggdmlzaWJpbGl0eVRlc3REaXYgKTsgICAgICAgICAgICB9ICAgICAgICB9ICAgICAgICBmdW5jdGlvbiBkZWJvdW5jZSggZnVuYywgd2FpdCwgaW1tZWRpYXRlICkgeyAgICAgICAgICAgIHZhciB0aW1lb3V0OyAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsgICAgICAgICAgICAgICAgdmFyIGNvbnRleHQgPSB0aGlzLCBhcmdzID0gYXJndW1lbnRzOyAgICAgICAgICAgICAgICB2YXIgbGF0ZXIgPSBmdW5jdGlvbigpIHsgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBudWxsOyAgICAgICAgICAgICAgICAgICAgaWYgKCAhaW1tZWRpYXRlICkgZnVuYy5hcHBseSggY29udGV4dCwgYXJncyApOyAgICAgICAgICAgICAgICB9OyAgICAgICAgICAgICAgICB2YXIgY2FsbE5vdyA9IGltbWVkaWF0ZSAmJiAhdGltZW91dDsgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KCB0aW1lb3V0ICk7ICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KCBsYXRlciwgd2FpdCApOyAgICAgICAgICAgICAgICBpZiAoIGNhbGxOb3cgKSBmdW5jLmFwcGx5KCBjb250ZXh0LCBhcmdzICk7ICAgICAgICAgICAgfTsgICAgICAgIH0gICAgICAgIGNvbnN0IGRlYm91bmNlZFRyaWdnZXJQb3N0UmVuZGVyID0gZGVib3VuY2UoIGZ1bmN0aW9uKCkgeyAgICAgICAgICAgIHRyaWdnZXJQb3N0UmVuZGVyKCk7ICAgICAgICB9LCAyMDAgKTsgICAgICAgIGlmICggdmlzaWJpbGl0eVRlc3REaXYgJiYgdmlzaWJpbGl0eVRlc3REaXYub2Zmc2V0UGFyZW50ID09PSBudWxsICkgeyAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoICggbXV0YXRpb25zICkgPT4geyAgICAgICAgICAgICAgICBtdXRhdGlvbnMuZm9yRWFjaCggKCBtdXRhdGlvbiApID0+IHsgICAgICAgICAgICAgICAgICAgIGlmICggbXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnICYmIHZpc2liaWxpdHlUZXN0RGl2Lm9mZnNldFBhcmVudCAhPT0gbnVsbCApIHsgICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZWRUcmlnZ2VyUG9zdFJlbmRlcigpOyAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgfSk7ICAgICAgICAgICAgfSk7ICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSggZG9jdW1lbnQuYm9keSwgeyAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLCAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IGZhbHNlLCAgICAgICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLCAgICAgICAgICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsgJ3N0eWxlJywgJ2NsYXNzJyBdLCAgICAgICAgICAgIH0pOyAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICB0cmlnZ2VyUG9zdFJlbmRlcigpOyAgICAgICAgfSAgICB9ICk7fSApOwo8L3NjcmlwdD4K