             Line.empty
             Registers(payload)
             Line.empty
+            if payload["vmSummary"].string != nil {
+                Line.empty
+                Line("VM Region Info: \n\(_P("vmSummary"))")
+            }
+            Line.empty
             Line("Binary Images:")
             for image in binaryImages.arrayValue {
                 Image(image)

            Line("Exception Type:  %@ (%@)")
                .format(payload["exception"]["type"].stringValue, payload["exception"]["signal"].stringValue)
            Line("Exception Codes: %@").format(payload["exception"]["codes"].stringValue)
            //"Exception Note:      %@".format()
            Line("Termination Reason: %@ %@")
                .format(payload["termination"]["namespace"].stringValue, payload["termination"]["code"].stringValue)
            Line(payload["termination"]["details"][0].stringValue)
            if payload["vmSummary"].string != nil {
                Line("VM Region Info: \(_P("vmSummary"))")
            }
            Line.empty
            Line("Triggered by Thread:  %@".format(_P("faultingThread")))
            Line.empty
            
            let binaryImages = payload["usedImages"]

        init(_ thread: JSON, index: Int, binaryImages: JSON) {
            self.string = String(builder: {
                if thread["name"].string != nil {
                    Line {
                        "Thread \(index) name:  \(thread["name"].stringValue)"
                        if let queue = thread["queue"].string {
                            " Dispatch queue: \(queue)"
                        }
                    }
                } else if let queue = thread["queue"].string {
                    Line("Thread \(index) name:   Dispatch queue: \(queue)")
                }
                if thread["triggered"].boolValue {
                    Line("Thread \(index) Crashed:")
