This is believed to trigger V-shaped depressions on the aspect underneath rigidity and C-shaped depressions on the aspect under compression. When tooth destruction happens on the roots of enamel, the process is referred to as inner resorption, when attributable to cells inside the pulp, or external resorption, when attributable to cells within the periodontal ligament. The periodontal ligament is a specialised connective tissue that attaches the cementum of a tooth to the alveolar bone. The nerve fibers can then ship the information to the central nervous system for interpretation. Tooth eruption in humans is a process in tooth development during which the teeth enter the mouth and turn out to be visible. Current research signifies that the periodontal ligaments play an important position in tooth eruption. Dentists The anatomic root is found under the CEJ and is roofed with cementum. Affected enamel has a special translucency than the rest of the tooth. For human tooth to have a wholesome oral environment, enamel, dentin, cementum, and the periodontium should all develop throughout acceptable phases of fetal development. Below the gumline extends the basis of the tooth, which is roofed no much less than partially by cementum. As with the crown, dentin composes most of the root, which usually has pulp canals. Fish, corresponding to sharks, might go through many tooth of their lifetime. The replacement of a number of enamel is named polyphyodontia. The national network of Delta Dental companies protects extra smiles than some other insurance company. Have a question about protection or in search of dental insurance? Cleveland Clinic’s experts can design a personalized plan that will hold you smiling for the lengthy haul. Our Dental Care Cost Estimator device offers estimated cost ranges for widespread dental care wants. They allow you to chew, tear and grind meals up earlier than swallowing it. To keep your enamel healthy, visit your dentist frequently and follow good oral hygiene at home. How Many Teeth Do People Have? When larger parts of a tooth are misplaced, an "extracoronal restoration" could also be fabricated, similar to a synthetic crown or a veneer, to revive the concerned tooth. Anatomically, the crown is described as being the part of the tooth that extends from the cusps or incisal edge to the cementoenamel junction (CEJ). Clinically, it is described as the seen or exposed a part of the tooth in the oral cavity. Bone resides tissue produced from collagen (a type of protein) and calcium phosphate (a mineral), whereas tooth have multiple layers of onerous and soft tissue as described in the previous section. They help you tear, crush and grind meals into smaller pieces. The biting portion of an incisor is wide and skinny, making a chisel-shaped leading edge. The upper incisors have a delicate tactile sense that enables them to be used for figuring out objects within the mouth by nibbling. Next to the incisors on each side is a canine, or cuspid tooth. It regularly is pointed and rather peglike in form and, like the incisors, has the perform of chopping and tearing meals. Most people have four incisors on the higher jaw and four on the decrease. All major tooth are normally later changed with their everlasting counterparts. The fourth tissue—pulp, or the middle of the tooth that incorporates nerves, blood vessels and connective tissue—is a gentle, or non-calcified, tissue. In your lifetime, you'll usually have 20 child teeth and 32 adult tooth, including your knowledge enamel. Environmental forces might have an effect on tooth during growth, destroy tooth structure after development, discolor enamel at any stage of improvement, or alter the course of tooth eruption. Developmental abnormalities most commonly affect the number, measurement, form, and construction of teeth. As a result, flossing can be thought of a necessity to hold up oral hygiene. Next, you drop right down to #K on the decrease left, then depend all the way throughout the decrease enamel until you reach #T (the lower-right molar). Canine teeth get their name as a result of they resemble a dog’s fangs. Most people have 4 canine tooth — one in every quadrant (upper right, higher left, lower proper, decrease left). But some persons are born with lacking teeth (hypodontia), and a few folks have extra enamel (hyperdontia). They break down foods by crushing or slicing them before you swallow. Unlike some animals that may eat food in one giant gulp, humans rely on their tooth to perform varied features important for efficient mastication. This article offers an outline of the construction, varieties, and developmental phases of human teeth, emphasizing their significance in each digestion and speech. Each tooth incorporates between one to 3 roots relying on its sort and location. In both the mandible and maxilla, the incisors, canines, and the primary premolars are typically single rooted. Most folks also get four wisdom tooth in their late teenagers to early twenties, giving adults a total of 32 teeth, usually by the age of 21. After a tooth has been broken or destroyed, restoration of the lacking construction could be achieved with a selection of treatments. Restorations could additionally be created from quite a lot of materials, including glass ionomer, amalgam, gold, porcelain, and composite.[55] Small restorations positioned inside a tooth are referred to as "intracoronal restorations". These restorations could also be shaped immediately in the mouth or may be solid utilizing the lost-wax method, such as for some inlays and onlays. These include your entrance two tooth and the tooth on both facet of them. Teeth are essential for chewing meals correctly and serving to individuals to speak. Taking good care of all of the tooth and sustaining good oral hygiene all through a person’s life can help to maintain tooth sturdy and healthy. teeth braces price " src="data:image/jpg;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sIGRhdGEtYWRibG9ja2tleT0iTUZ3d0RRWUpLb1pJaHZjTkFRRUJCUUFEU3dBd1NBSkJBTHF1REZFVFhSbjBIcjA1ZlVQN0VKVDc3eFluUG1SYnBNeTR2azhLWWlIbmtOcGVkbmpPQU5KY2FYRFhjS1FKTjBuWEtaSkw3VGNpSkQ4QW9IWEsxNThDQXdFQUFRPT1fU1dTNDN4cGNhSzVYaXJxZkVTNGcwUVBScmRGNS9WR3ZNZ2lCMFBvaUxQanBQaVJ2SUFlMzYvK0o3MXBkWkRtRzJ2VDQzRzkvRkQ2NCtOK0RjU3k5cFE9PSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBzaHJpbmstdG8tZml0PW5vIi8+CiAgICA8dGl0bGU+dGhlZGVudGFsZ3VpZGUubmV0PC90aXRsZT4KICAgIDxzdHlsZSBtZWRpYT0ic2NyZWVuIj4KLmFzc2V0X3N0YXIwIHsKCWJhY2tncm91bmQ6IHVybCgnLy9kMzhwc3JuaTE3YnZ4dS5jbG91ZGZyb250Lm5ldC90aGVtZXMvYXNzZXRzL3N0YXIwLmdpZicpIG5vLXJlcGVhdCBjZW50ZXI7Cgl3aWR0aDogMTNweDsKCWhlaWdodDogMTJweDsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLmFzc2V0X3N0YXIxIHsKCWJhY2tncm91bmQ6IHVybCgnLy9kMzhwc3JuaTE3YnZ4dS5jbG91ZGZyb250Lm5ldC90aGVtZXMvYXNzZXRzL3N0YXIxLmdpZicpIG5vLXJlcGVhdCBjZW50ZXI7Cgl3aWR0aDogMTNweDsKCWhlaWdodDogMTJweDsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLmFzc2V0X3N0YXJIIHsKCWJhY2tncm91bmQ6IHVybCgnLy9kMzhwc3JuaTE3YnZ4dS5jbG91ZGZyb250Lm5ldC90aGVtZXMvYXNzZXRzL3N0YXJILmdpZicpIG5vLXJlcGVhdCBjZW50ZXI7Cgl3aWR0aDogMTNweDsKCWhlaWdodDogMTJweDsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLnNpdGVsaW5rIHsKCXBhZGRpbmctcmlnaHQ6IDE2cHg7Cn0KCi5zZWxsZXJSYXRpbmdzIGE6bGluaywKLnNlbGxlclJhdGluZ3MgYTp2aXNpdGVkLAouc2VsbGVyUmF0aW5ncyBhOmhvdmVyLAouc2VsbGVyUmF0aW5ncyBhOmFjdGl2ZSB7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7CgljdXJzb3I6IHRleHQ7Cn0KCi5zZWxsZXJSYXRpbmdzIHsKCW1hcmdpbjowIDAgM3B4IDIwcHg7Cn0KCi5zaXRlbGlua0hvbGRlciB7CgltYXJnaW46LTE1cHggMCAxNXB4IDM1cHg7Cn0KCiNhamF4bG9hZGVySG9sZGVyIHsKCWRpc3BsYXk6IGJsb2NrOwoJd2lkdGg6IDI0cHg7CgloZWlnaHQ6IDI0cHg7CgliYWNrZ3JvdW5kOiAjZmZmOwoJcGFkZGluZzogOHB4IDAgMCA4cHg7CgltYXJnaW46MTBweCBhdXRvOwoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7CgktbW96LWJvcmRlci1yYWRpdXM6IDRweDsKCWJvcmRlci1yYWRpdXM6IDRweDsKfTwvc3R5bGU+ICAgIDxzdHlsZSBtZWRpYT0ic2NyZWVuIj4KKiB7CiAgICBtYXJnaW46MDtwYWRkaW5nOjAKfQoKYm9keSB7CiAgICBiYWNrZ3JvdW5kOiMxMDFjMzY7CiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtc2l6ZToxcmVtOwp9CgouaGVhZGVyIHsKICAgIHBhZGRpbmc6MXJlbSAxcmVtIDA7CiAgICBvdmVyZmxvdzpoaWRkZW47Cn0KCmgxIHsKICAgIGNvbG9yOiM4NDg0ODQ7CiAgICBmb250LXNpemU6MS41cmVtOwp9CgouaGVhZGVyLXRleHQtY29sb3I6dmlzaXRlZCwKLmhlYWRlci10ZXh0LWNvbG9yOmxpbmssCi5oZWFkZXItdGV4dC1jb2xvciB7CiAgICBjb2xvcjojODQ4NDg0Owp9CgouY29tcC1pcy1wYXJrZWQgewogIG1hcmdpbjogNHB4IDAgMnB4Owp9CgouY29tcC1zcG9uc29yZWQgewogIHRleHQtYWxpZ246IGxlZnQ7CiAgbWFyZ2luOiAwIDAgLTEuOHJlbSA0cHg7Cn0KCi53cmFwcGVyMSB7CiAgICBtYXJnaW46MXJlbTsKfQoKLndyYXBwZXIyIHsKICAgIGJhY2tncm91bmQ6dXJsKCcvL2QzOHBzcm5pMTdidnh1LmNsb3VkZnJvbnQubmV0L3RoZW1lcy9jbGVhblBlcHBlcm1pbnRCbGFja182NTdkOTAxMy9pbWcvYm90dG9tLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tOwogICAgcGFkZGluZy1ib3R0b206MTQwcHg7Cn0KCi53cmFwcGVyMyB7CiAgICBiYWNrZ3JvdW5kOiNmZmY7CiAgICBtYXgtd2lkdGg6MzAwcHg7CiAgICBtYXJnaW46MCBhdXRvIDFyZW07CiAgICBwYWRkaW5nLXRvcDoxcHg7CiAgICBwYWRkaW5nLWJvdHRvbToxcHg7Cn0KCi5vbkRlc2t0b3AgewogICAgZGlzcGxheTpub25lOwp9CgoudGNIb2xkZXIgewogICAgcGFkZGluZy10b3A6IDJyZW07Cn0KCi5hZHNIb2xkZXIgewogICAgbWFyZ2luOiAxcmVtIDA7CiAgICBwYWRkaW5nLXRvcDogMnJlbTsKICAgIG92ZXJmbG93OmhpZGRlbjsKfQoKLmZvb3RlciB7CiAgICBjb2xvcjojNjI2NTc0OwogICAgcGFkZGluZzoycmVtIDFyZW07CiAgICBmb250LXNpemU6LjhyZW07CiAgICBtYXJnaW46MCBhdXRvOwogICAgbWF4LXdpZHRoOjQ0MHB4Owp9CgouZm9vdGVyIGE6bGluaywKLmZvb3RlciBhOnZpc2l0ZWQgewogICAgY29sb3I6IzYyNjU3NDsKfQoKLnNhbGVfbGlua19ib2xkIGEsCi5zYWxlX2xpbmssCi5zYWxlX2xpbmsgYSB7CiAgICBjb2xvcjojNjI2NTc0ICFpbXBvcnRhbnQ7Cn0KCi5zZWFyY2hIb2xkZXIgewogICAgcGFkZGluZzoxcHggMCAxcHggMXB4OwogICAgbWFyZ2luOjFyZW0gYXV0bzsKICAgIHdpZHRoOiA5NSU7CiAgICBtYXgtd2lkdGg6IDUwMHB4Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7CgogICAgLmNvbXAtaXMtcGFya2VkLAogICAgLmNvbXAtc3BvbnNvcmVkIHsKICAgICAgY29sb3I6ICM4NDg0ODQ7CiAgICB9CgogICAgLmNvbXAtc3BvbnNvcmVkIHsKICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CgogICAgLndyYXBwZXIxIHsKICAgICAgICBtYXgtd2lkdGg6MTUwMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87CiAgICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87CiAgICB9CgogICAgLndyYXBwZXIyIHsKICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLy9kMzhwc3JuaTE3YnZ4dS5jbG91ZGZyb250Lm5ldC90aGVtZXMvY2xlYW5QZXBwZXJtaW50QmxhY2tfNjU3ZDkwMTMvaW1nL2Fycm93cy5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHRvcDsKICAgICAgICBwYWRkaW5nLWJvdHRvbTowOwogICAgICAgIG1pbi1oZWlnaHQ6NjAwcHg7CiAgICB9CgogICAgLndyYXBwZXIzIHsKICAgICAgICBtYXgtd2lkdGg6NTMwcHg7CiAgICAgICAgYmFja2dyb3VuZDpub25lOwogICAgfQp9Cjwvc3R5bGU+ICAgIDxzdHlsZSBtZWRpYT0ic2NyZWVuIj4KLmZhbGxiYWNrLXRlcm0taG9sZGVyIHsKICAgIGRpc3BsYXk6IGlubGluZS1ncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICB3aWR0aDogMTAwJTsKICAgIHBhZGRpbmctdG9wOiA1MHB4Owp9CgouZmFsbGJhY2stdGVybS1saW5rIHsKICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxOyBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICBwYWRkaW5nOiA1MHB4IDEzcHggNTBweCAxM3B4OyBib3JkZXItcmFkaXVzOiAyNXB4OwogICAgYm9yZGVyOiA1cHggc29saWQgI2ZmZmZmZjsgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNywgMzgsIDc3KTsKICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiBub25lOwogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgdGV4dC1hbGlnbjogbGVmdDsKfQoKLmZhbGxiYWNrLWFycm93IHsKICAgIGZsb2F0OiByaWdodDsKICAgIHdpZHRoOiAyNHB4OwogICAgaGVpZ2h0OiAyNHB4OwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJtYVd4c1BTY2pSRGRFTjBRM0p5QnpkSGxzWlQwaVpteHZZWFE2SUhKcFoyaDBJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJR2hsYVdkb2REMGlNalFpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJZ2QybGtkR2c5SWpJMElqNDhjR0YwYUNCa1BTSk5NQ0F3YURJMGRqSTBTREI2SWlCbWFXeHNQU0p1YjI1bElpOCtQSEJoZEdnZ1pEMGlUVFV1T0RnZ05DNHhNa3d4TXk0M05pQXhNbXd0Tnk0NE9DQTNMamc0VERnZ01qSnNNVEF0TVRCTU9DQXllaUl2UGp3dmMzWm5QZz09Jyk7Cn08L3N0eWxlPgogICAgCiAgICA8L2hlYWQ+Cgo8Ym9keSBpZD0iYWZkIj48ZGl2IGlkPSJwbEJhbm5lciI+PHNjcmlwdCBpZD0icGFya2xvZ2ljIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9wYXJraW5nMy5wYXJrbG9naWMuY29tL3BhZ2UvZW5oYW5jZS5qcz9wY0lkPTEyJnBJZD0xMTI5JmRvbWFpbj10aGVkZW50YWxndWlkZS5uZXQiIGFzeW5jPjwvc2NyaXB0PjwvZGl2PgoKPGRpdiBjbGFzcz0id3JhcHBlcjEiPgogICAgICAgIDxkaXYgY2xhc3M9IndyYXBwZXIyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ3cmFwcGVyMyI+CiAgICAgICAgICAgIDxici8+CiAgICAgICAgPHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vZXVvYi55b3VzZWFza3kuY29tL3N4cC9pLzIyNGY4NTMwMmFhMmI2ZWMzMGFhYzlhODVkYTJjYmY5LmpzIiBkYXRhLWNoPSJBZHNEZWxpIC0gZG9tYWluIC0gbGFuZGluZ3BhZ2UiIGRhdGEtdXZpZD0iYTA0ODFjNDRhMjVkYzNmYTMyNWNiNzdhMzRjNTFjM2Y0YjhmMmVlYSIgY2xhc3M9ImN0X2NsaWNrdHJ1ZV84MDcwNSIgZGF0YS1qc29ucD0ib25DaGVxUmVzcG9uc2UiPjwvc2NyaXB0PgogICAgPG5vc2NyaXB0PgogICAgICAgIDxpZnJhbWUgc3JjPSJodHRwczovL29ic2V1LnlvdXNlYXNreS5jb20vbnMvMjI0Zjg1MzAyYWEyYjZlYzMwYWFjOWE4NWRhMmNiZjkuaHRtbD9jaD1BZHNEZWxpJTIwLSUyMGRvbWFpbiUyMC0lMjBsYW5kaW5ncGFnZSIKICAgICAgICAgICAgICAgIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjwvaWZyYW1lPgogICAgPC9ub3NjcmlwdD4KPGJyLz4KPGRpdiBjbGFzcz0iaGVhZGVyIiBpZD0iZG9tYWlubmFtZSI+CiAgICAgICAgPGgxPnRoZWRlbnRhbGd1aWRlLm5ldDwvaDE+CiAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGNIb2xkZXIiPgogICAgICAgICAgICAgICAgPGRpdiBpZD0idGMiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXIiPgogICAgICAgICAgICAyMDI1IENvcHlyaWdodCB8IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCjxici8+PGJyLz4KPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25DbGljaz0id2luZG93Lm9wZW4oJy9wcml2YWN5Lmh0bWwnLCAncHJpdmFjeS1wb2xpY3knLCAnd2lkdGg9ODkwLGhlaWdodD0zMzAsbGVmdD0yMDAsdG9wPTIwMCxtZW51YmFyPW5vLHN0YXR1cz15ZXMsdG9vbGJhcj1ubycpLmZvY3VzKCkiIGNsYXNzPSJwcml2YWN5LXBvbGljeSI+CiAgICBQcml2YWN5IFBvbGljeQo8L2E+Cjxici8+PGJyLz4KPGJyLz48YnIvPgogICAgPC9kaXY+CjwvZGl2PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdlPSJKYXZhU2NyaXB0Ij4KICAgIHZhciB0Y2Jsb2NrID0gewogICAgICAgIC8vIFJlcXVpcmVkIGFuZCBzdGVhZHkKICAgICAgICAnY29udGFpbmVyJzogJ3RjJywKICAgICAgICAndHlwZSc6ICdyZWxhdGVkc2VhcmNoJywKICAgICAgICAnY29sb3JCYWNrZ3JvdW5kJzogJ3RyYW5zcGFyZW50JywKICAgICAgICAKICAgICAgICAnbnVtYmVyJzogMywKICAgICAgICAKICAgICAgICAvLyBGb250LVNpemVzIGFuZCBMaW5lLUhlaWdodHMKICAgICAgICAnZm9udFNpemVBdHRyaWJ1dGlvbic6IDE0LAogICAgICAgICdmb250U2l6ZVRpdGxlJzogMjQsCiAgICAgICAgJ2xpbmVIZWlnaHRUaXRsZSc6IDM0LAogICAgICAgIC8vIENvbG9ycwogICAgICAgICdjb2xvckF0dHJpYnV0aW9uJzogJyNhYWEnLAogICAgICAgICdjb2xvclRpdGxlTGluayc6ICcjMDI3N2JkJywKICAgICAgICAvLyBBbHBoYWJldGljYWxseQogICAgICAgICdob3Jpem9udGFsQWxpZ25tZW50JzogJ2NlbnRlcicsCiAgICAgICAgJ25vVGl0bGVVbmRlcmxpbmUnOiBmYWxzZSwKICAgICAgICAncm9sbG92ZXJMaW5rQ29sb3InOiAnIzAxNTc5YicsCiAgICAgICAgJ3ZlcnRpY2FsU3BhY2luZyc6IDEwCiAgICB9OwogICAgdmFyIHNlYXJjaGJveEJsb2NrID0gewogICAgICAgICdjb250YWluZXInOiAnc2VhcmNoJywKICAgICAgICAndHlwZSc6ICdzZWFyY2hib3gnLAogICAgICAgICdmb250U2l6ZVNlYXJjaElucHV0JzogMTIsCiAgICAgICAgJ2hpZGVTZWFyY2hJbnB1dEJvcmRlcic6IGZhbHNlLAogICAgICAgICdoaWRlU2VhcmNoQnV0dG9uQm9yZGVyJzogdHJ1ZSwKICAgICAgICAnZm9udFNpemVTZWFyY2hCdXR0b24nOiAxMywKICAgICAgICAnY29sb3JCYWNrZ3JvdW5kJzogJ3RyYW5zcGFyZW50JywKICAgICAgICAnY29sb3JTZWFyY2hCdXR0b24nOiAnIzBiMzI3OScsCiAgICAgICAgJ2NvbG9yU2VhcmNoQnV0dG9uVGV4dCc6ICcjZmZmJwogICAgfTsKICAgIDwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+bGV0IGlzQWR1bHQ9ZmFsc2U7ICAgICAgICAgbGV0IGNvbnRhaW5lck5hbWVzPVtdOyAgICAgICAgIGxldCB1bmlxdWVUcmFja2luZ0lEPSdNVGMxT0RZNU1EWTRNQzQxT1RrME9qUXpNems0TXpsaVltWXhNalF4WldJMlpEZ3hZelkyT1RnNVlqUTBabVU0TVdOalpEVTRZVEl3TVdGbE5XTTVNekpsWVRRek5UZ3laVEZqTmpVMlltUTZOamhrTXpka056ZzVNalUzWlE9PSc7ICAgICAgICAgbGV0IHNlYXJjaD0nJzsgICAgICAgICBsZXQgdGhlbWVkYXRhPSdleUpoYkdjaU9pSkJNVEk0UzFjaUxDSmxibU1pT2lKQk1USTRRMEpETFVoVE1qVTJJbjAuRjBiaUdDc3dVcFJEdlcySVluNXJKNzRGNEJMazhUUF9DZmNOWnVKaUlTWXYxS1J0cmZ4MTFRLkZMbmZSM0Z5NXZsWWJkc1dtQ1VwMEEuSHNic01EWkR4T2V0MlZvQ3JmNURHMWljOXNIY2hzd3oyM3pFckhpVFpRQVppNnhKN2Jqb0hLU0RQTzlWM0Z5eFZoUzBMNUtvSnBJTmZXaVNLN25neGd5TGlBZmM3RU1ETTVYSnN3T0dCZUl2MC1HdmhpckFsWlR1SlgzVUZGTVlXX21xOXdkbG82SDJmYUJMWjV5cEIybFI4aXNQbGRfY2ZkM1lmblhFTmlvTktUQjBrd3pOSzVZbHBmeWdDWTBNVEFuYkRGcDEzcEYtdnAxbG41NWpzUm9XTHMzejlCSmNHODRzTVNVbFJvOUlnUzNKSTdEYTRiR2Q1dzNsVTFtY2NRTkI0bE9WTTNvMmRXVmRIMFhVbEFHUm1JNXBMWGVYdHhXX0ZjNjdmV09IT0NiaUtOTU1zcVkxWXJUaE5lU0NMU0JrcEhWVG5zN20wclR5Vmgycl8wOXJQM1FpRXVlYmZEbWNZeWtmcHJVVklwdFA4RTZHTkRHckZVZUk4Um1KaWpINWF3YzRWWm9FSGtYVkpMcWVvUk00R205emY3ZzJDcXB3b3dob2MxMHBELXJvZ1Myd0ZxN2U1NjZtS2hrbTRabGtnNUhhRl85bFFITnN4V1RLYUFaWHpjZjJVaV9wUlhjdGRWYm1IZUV2X3k3eWNjRE1SSVJsaG1FazJZdVpyT25RRFFvN1FaVm9vUVpwV3Z5UW1BaWRwRUVLNnlyRTkyZUpLNVE4SHpwSldnS0Jlb25SRUlqMEFydjZwYWFVR3VpODc3cWJaMW1xZnhjeHJCcjFFemUtRThtQUtYbk9LazRuc2tySnMxRS5tYkVJaDZlUXNFUFJySHlrb1NmVG1BJzsgICAgICAgICBsZXQgZG9tYWluPSd0aGVkZW50YWxndWlkZS5uZXQnOyAgICAgICAgIGxldCBzY3JpcHRQYXRoPScnOyAgICAgICAgIGxldCBhZHRlc3Q9J29mZic7aWYodG9wLmxvY2F0aW9uIT09bG9jYXRpb24pIHsgdG9wLmxvY2F0aW9uLmhyZWY9bG9jYXRpb24ucHJvdG9jb2wgKyAnLy8nICsgbG9jYXRpb24uaG9zdCArIGxvY2F0aW9uLnBhdGhuYW1lICsgKGxvY2F0aW9uLnNlYXJjaCA/IGxvY2F0aW9uLnNlYXJjaCArICcmJyA6ICc/JykgKyAnX3hhZnZyPVkyRmtZbUpoTldVd09EWm1aREk1WXpFek9UTXhPV1kzWmpZd01qYzNZams1WWpWbVlUVXdNaXcyT0dRek4yUTNPRGszWkdFMyc7IH1sZXQgcGFnZUxvYWRlZENhbGxiYWNrVHJpZ2dlcmVkID0gZmFsc2U7bGV0IGZhbGxiYWNrVHJpZ2dlcmVkID0gZmFsc2U7bGV0IGZvcm1lckNhbGxlZEFyZ3VtZW50cyA9IGZhbHNlO2xldCBwYWdlT3B0aW9ucyA9IHsncHViSWQnOiAnZHAtdGVhbWludGVybmV0MDEnLCdyZXN1bHRzUGFnZUJhc2VVcmwnOiAnLy8nICsgbG9jYXRpb24uaG9zdCArICcvP3RzPScsJ2ZvbnRGYW1pbHknOiAnYXJpYWwnLCdvcHRpbWl6ZVRlcm1zJzogdHJ1ZSwnbWF4VGVybUxlbmd0aCc6IDQwLCdhZHRlc3QnOiB0cnVlLCdjbGlja3RyYWNrVXJsJzogJy8vJyArIGxvY2F0aW9uLmhvc3QgKyAnL211bmluL2EvdHIvY2xpY2s/JywnYXR0cmlidXRpb25UZXh0JzogJ0FkcycsJ2NvbG9yQXR0cmlidXRpb24nOiAnI2I3YjdiNycsJ2ZvbnRTaXplQXR0cmlidXRpb24nOiAxNiwnYXR0cmlidXRpb25Cb2xkJzogZmFsc2UsJ3JvbGxvdmVyTGlua0JvbGQnOiBmYWxzZSwnZm9udEZhbWlseUF0dHJpYnV0aW9uJzogJ2FyaWFsJywnYWRMb2FkZWRDYWxsYmFjayc6IGZ1bmN0aW9uKGNvbnRhaW5lck5hbWUsIGFkc0xvYWRlZCwgaXNFeHBlcmltZW50VmFyaWFudCwgY2FsbGJhY2tPcHRpb25zKSB7bGV0IGRhdGEgPSB7Y29udGFpbmVyTmFtZTogY29udGFpbmVyTmFtZSxhZHNMb2FkZWQ6IGFkc0xvYWRlZCxpc0V4cGVyaW1lbnRWYXJpYW50OiBpc0V4cGVyaW1lbnRWYXJpYW50LGNhbGxiYWNrT3B0aW9uczogY2FsbGJhY2tPcHRpb25zLHRlcm1zOiBwYWdlT3B0aW9ucy50ZXJtc307aWYgKCFhZHNMb2FkZWQgfHwgKGNvbnRhaW5lck5hbWUgaW4gY29udGFpbmVyTmFtZXMpKSB7YWpheFF1ZXJ5KHNjcmlwdFBhdGggKyAiL211bmluL2EvdHIvYWRsb2FkZWQiKyAiP3RvZ2dsZT1hZGxvYWRlZCIrICImdWlkPSIgKyBlbmNvZGVVUklDb21wb25lbnQodW5pcXVlVHJhY2tpbmdJRCkrICImZG9tYWluPSIgKyBlbmNvZGVVUklDb21wb25lbnQoZG9tYWluKSsgIiZkYXRhPSIgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZGF0YSkpKTt9fSwncGFnZUxvYWRlZENhbGxiYWNrJzogZnVuY3Rpb24gKHJlcXVlc3RBY2NlcHRlZCwgc3RhdHVzKSB7ZG9jdW1lbnQuYm9keS5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnO3BhZ2VMb2FkZWRDYWxsYmFja1RyaWdnZXJlZCA9IHRydWU7aWYgKChzdGF0dXMuZmFpbGxpc3RlZCA9PT0gdHJ1ZSB8fCBzdGF0dXMuZmFpbGxpc3RlZCA9PSAidHJ1ZSIgfHwgc3RhdHVzLmJsb2NrZWQgPT09IHRydWUgfHwgc3RhdHVzLmJsb2NrZWQgPT0gInRydWUiICkgJiYgc3RhdHVzLmVycm9yX2NvZGUgIT0gMjUpIHthamF4UXVlcnkoc2NyaXB0UGF0aCArICIvbXVuaW4vYS90ci9ibG9jaz9kb21haW49IiArIGVuY29kZVVSSUNvbXBvbmVudChkb21haW4pICsgIiZjYWY9MSZ0b2dnbGU9YmxvY2smcmVhc29uPW90aGVyJnVpZD0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVuaXF1ZVRyYWNraW5nSUQpKTt9aWYgKHN0YXR1cy5lcnJvcmNvZGUgJiYgIXN0YXR1cy5lcnJvcl9jb2RlKSB7c3RhdHVzLmVycm9yX2NvZGUgPSBzdGF0dXMuZXJyb3Jjb2RlO31pZiAoc3RhdHVzLmVycm9yX2NvZGUpIHthamF4UXVlcnkoc2NyaXB0UGF0aCArICIvbXVuaW4vYS90ci9lcnJvcmNvZGU/ZG9tYWluPSIgKyBlbmNvZGVVUklDb21wb25lbnQoZG9tYWluKSArICImY2FmPTEmdG9nZ2xlPWVycm9yY29kZSZjb2RlPSIgKyBlbmNvZGVVUklDb21wb25lbnQoc3RhdHVzLmVycm9yX2NvZGUpICsgIiZ1aWQ9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1bmlxdWVUcmFja2luZ0lEKSk7aWYgKFsxOCwgMTldLmluZGV4T2YocGFyc2VJbnQoc3RhdHVzLmVycm9yX2NvZGUpKSAhPSAtMSAmJiBmYWxsYmFja1RyaWdnZXJlZCA9PSBmYWxzZSkge2ZhbGxiYWNrVHJpZ2dlcmVkID0gdHJ1ZTtpZiAodHlwZW9mIGxvYWRGZWVkID09PSAiZnVuY3Rpb24iKSB7d2luZG93LmxvY2F0aW9uLmhyZWYgPSAnLy8nICsgbG9jYXRpb24uaG9zdDt9fWlmIChzdGF0dXMuZXJyb3JfY29kZSA9PSAyMCkge3dpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKCIvL2RwLmcuZG91YmxlY2xpY2submV0L2FwcHMvZG9tYWlucGFyay9kb21haW5wYXJrLmNnaT9jbGllbnQ9IiArIGVuY29kZVVSSUNvbXBvbmVudCgocGFnZU9wdGlvbnMucHViaWQubWF0Y2goL15jYS0vaSkgPyAiIiA6ICJjYS0iKSArIHBhZ2VPcHRpb25zLnB1YmlkKSArICImZG9tYWluX25hbWU9IiArIGVuY29kZVVSSUNvbXBvbmVudChkb21haW4pICsgIiZvdXRwdXQ9aHRtbCZkcmlkPSIgKyBlbmNvZGVVUklDb21wb25lbnQocGFnZU9wdGlvbnMuZG9tYWluUmVnaXN0cmFudCkpO319aWYgKHN0YXR1cy5uZWVkc3JldmlldyA9PT0gdHJ1ZSB8fCBzdGF0dXMubmVlZHNyZXZpZXcgPT0gInRydWUiKSB7YWpheFF1ZXJ5KHNjcmlwdFBhdGggKyAiL211bmluL2EvdHIvbmVlZHNyZXZpZXc/ZG9tYWluPSIgKyBlbmNvZGVVUklDb21wb25lbnQoZG9tYWluKSArICImY2FmPTEmdG9nZ2xlPW5lZWRzcmV2aWV3JnVpZD0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVuaXF1ZVRyYWNraW5nSUQpKTt9aWYgKChzdGF0dXMuYWR1bHQgPT09IHRydWUgfHwgc3RhdHVzLmFkdWx0ID09ICJ0cnVlIikgJiYgIWlzQWR1bHQpIHthamF4UXVlcnkoc2NyaXB0UGF0aCArICIvbXVuaW4vYS90ci9hZHVsdD9kb21haW49IiArIGVuY29kZVVSSUNvbXBvbmVudChkb21haW4pICsgIiZjYWY9MSZ0b2dnbGU9YWR1bHQmdWlkPSIgKyBlbmNvZGVVUklDb21wb25lbnQodW5pcXVlVHJhY2tpbmdJRCkpO30gZWxzZSBpZiAoKHN0YXR1cy5hZHVsdCA9PT0gZmFsc2UgfHwgc3RhdHVzLmFkdWx0ID09ICJmYWxzZSIpICYmIGlzQWR1bHQpIHthamF4UXVlcnkoc2NyaXB0UGF0aCArICIvbXVuaW4vYS90ci9ub25hZHVsdD9kb21haW49IiArIGVuY29kZVVSSUNvbXBvbmVudChkb21haW4pICsgIiZjYWY9MSZ0b2dnbGU9bm9uYWR1bHQmdWlkPSIgKyBlbmNvZGVVUklDb21wb25lbnQodW5pcXVlVHJhY2tpbmdJRCkpO31pZiAocmVxdWVzdEFjY2VwdGVkKSB7aWYgKHN0YXR1cy5mZWVkKSB7YWpheFF1ZXJ5KHNjcmlwdFBhdGggKyAiL211bmluL2EvdHIvZmVlZD9kb21haW49IiArIGVuY29kZVVSSUNvbXBvbmVudChkb21haW4pICsgIiZjYWY9MSZ0b2dnbGU9ZmVlZCZmZWVkPSIgKyBlbmNvZGVVUklDb21wb25lbnQoc3RhdHVzLmZlZWQpICsgIiZ1aWQ9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1bmlxdWVUcmFja2luZ0lEKSk7fWlmIChzdGF0dXMuZXJyb3JfY29kZSkge2FqYXhRdWVyeShzY3JpcHRQYXRoICsgIi9tdW5pbi9hL3RyL2Fuc3dlcmNoZWNrL2Vycm9yP2RvbWFpbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KGRvbWFpbikgKyAiJmNhZj0xJnRvZ2dsZT1hbnN3ZXJjaGVjayZhbnN3ZXI9ZXJyb3JfIiArIGVuY29kZVVSSUNvbXBvbmVudChzdGF0dXMuZXJyb3JfY29kZSkgKyAiJnVpZD0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVuaXF1ZVRyYWNraW5nSUQpKTt9IGVsc2Uge2FqYXhRdWVyeShzY3JpcHRQYXRoICsgIi9tdW5pbi9hL3RyL2Fuc3dlcmNoZWNrL3llcz9kb21haW49IiArIGVuY29kZVVSSUNvbXBvbmVudChkb21haW4pICsgIiZjYWY9MSZ0b2dnbGU9YW5zd2VyY2hlY2smYW5zd2VyPXllcyZ1aWQ9IiArIGVuY29kZVVSSUNvbXBvbmVudCh1bmlxdWVUcmFja2luZ0lEKSk7fX0gZWxzZSB7YWpheFF1ZXJ5KHNjcmlwdFBhdGggKyAiL211bmluL2EvdHIvYW5zd2VyY2hlY2svcmVqZWN0P2RvbWFpbj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KGRvbWFpbikgKyAiJmNhZj0xJnRvZ2dsZT1hbnN3ZXJjaGVjayZhbnN3ZXI9cmVqZWN0ZWQmdWlkPSIgKyBlbmNvZGVVUklDb21wb25lbnQodW5pcXVlVHJhY2tpbmdJRCkpO319fTtsZXQgeCA9IGZ1bmN0aW9uIChvYmoxLCBvYmoyKSB7aWYgKHR5cGVvZiBvYmoxICE9ICJvYmplY3QiKW9iajEgPSB7fTtmb3IgKGxldCBrZXkgaW4gb2JqMilvYmoxW2tleV0gPSBvYmoyW2tleV07cmV0dXJuIG9iajE7fTtmdW5jdGlvbiBnZXRYTUxodHRwKCkge2xldCB4bWxIdHRwID0gbnVsbDt0cnkge3htbEh0dHAgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTt9IGNhdGNoIChlKSB7dHJ5IHt4bWxIdHRwID0gbmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIik7fSBjYXRjaCAoZXgpIHt0cnkge3htbEh0dHAgPSBuZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKTt9IGNhdGNoIChleGMpIHt9fX1yZXR1cm4geG1sSHR0cDt9ZnVuY3Rpb24gYWpheFF1ZXJ5KHVybCkge2lmIChhZHRlc3QgPT0gJ29uJykgcmV0dXJuIGZhbHNlO3htbEh0dHAgPSBnZXRYTUxodHRwKCk7aWYgKCF4bWxIdHRwKSByZXR1cm4gYWpheEJhY2tmaWxsKHVybCk7eG1sSHR0cC5vcGVuKCJHRVQiLCB1cmwsIGZhbHNlKTtyZXR1cm4geG1sSHR0cC5zZW5kKG51bGwpO31mdW5jdGlvbiBhamF4QmFja2ZpbGwodXJsKSB7aWYgKGFkdGVzdCA9PSAnb24nKSByZXR1cm4gZmFsc2U7aWYgKHVybC5pbmRleE9mKCImdG9nZ2xlPWJyb3dzZXJqcyIpID4gLTEpIHJldHVybiBmYWxzZTt0cnkge2xldCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtpbWcuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO2ltZy5zdHlsZS53aWR0aCA9ICcxcHgnO2ltZy5zdHlsZS5oZWlnaHQgPSAnMXB4JztpbWcuc3JjID0gdXJsICsgIiZfdD0iICsgbmV3IERhdGUoKS5nZXRUaW1lKCk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcpO30gY2F0Y2ggKGUpIHt9fWFqYXhRdWVyeShzY3JpcHRQYXRoICsgIi9tdW5pbi9hL3RyL2Jyb3dzZXJqcz9kb21haW49IiArIGVuY29kZVVSSUNvbXBvbmVudChkb21haW4pICsgIiZ0b2dnbGU9YnJvd3NlcmpzJnVpZD0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVuaXF1ZVRyYWNraW5nSUQpKTt4KHBhZ2VPcHRpb25zLCB7cmVzdWx0c1BhZ2VCYXNlVXJsOiAnaHR0cDovL3d3dy50aGVkZW50YWxndWlkZS5uZXQvP3RzPWV5SmhiR2NpT2lKQk1USTRTMWNpTENKbGJtTWlPaUpCTVRJNFEwSkRMVWhUTWpVMkluMC5GMGJpR0Nzd1VwUkR2VzJJWW41cko3NEY0QkxrOFRQX0NmY05adUppSVNZdjFLUnRyZngxMVEuRkxuZlIzRnk1dmxZYmRzV21DVXAwQS5Ic2JzTURaRHhPZXQyVm9DcmY1REcxaWM5c0hjaHN3ejIzekVySGlUWlFBWmk2eEo3YmpvSEtTRFBPOVYzRnl4VmhTMEw1S29KcElOZldpU0s3bmd4Z3lMaUFmYzdFTURNNVhKc3dPR0JlSXYwLUd2aGlyQWxaVHVKWDNVRkZNWVdfbXE5d2RsbzZIMmZhQkxaNXlwQjJsUjhpc1BsZF9jZmQzWWZuWEVOaW9OS1RCMGt3ek5LNVlscGZ5Z0NZME1UQW5iREZwMTNwRi12cDFsbjU1anNSb1dMczN6OUJKY0c4NHNNU1VsUm85SWdTM0pJN0RhNGJHZDV3M2xVMW1jY1FOQjRsT1ZNM28yZFdWZEgwWFVsQUdSbUk1cExYZVh0eFdfRmM2N2ZXT0hPQ2JpS05NTXNxWTFZclRoTmVTQ0xTQmtwSFZUbnM3bTByVHlWaDJyXzA5clAzUWlFdWViZkRtY1l5a2ZwclVWSXB0UDhFNkdOREdyRlVlSThSbUppakg1YXdjNFZab0VIa1hWSkxxZW9STTRHbTl6ZjdnMkNxcHdvd2hvYzEwcEQtcm9nUzJ3RnE3ZTU2Nm1LaGttNFpsa2c1SGFGXzlsUUhOc3hXVEthQVpYemNmMlVpX3BSWGN0ZFZibUhlRXZfeTd5Y2NETVJJUmxobUVrMll1WnJPblFEUW83UVpWb29RWnBXdnlRbUFpZHBFRUs2eXJFOTJlSks1UThIenBKV2dLQmVvblJFSWowQXJ2NnBhYVVHdWk4NzdxYloxbXFmeGN4ckJyMUV6ZS1FOG1BS1huT0trNG5za3JKczFFLm1iRUloNmVRc0VQUnJIeWtvU2ZUbUEnLGhsOiAnZW4nLGt3OiAnJyx0ZXJtczogJycsdWlPcHRpbWl6ZTogdHJ1ZSwgY2hhbm5lbDogJ2J1Y2tldDAwNyxidWNrZXQxMDInLCBwdWJJZDogJ2RwLXRlYW1pbnRlcm5ldDA5XzNwaCcsYWR0ZXN0OiAnb2ZmJyxwZXJzb25hbGl6ZWRBZHM6IGZhbHNlLGNsaWNrdHJhY2tVcmw6ICdodHRwczovL3Rya3BjbmEubmV0L211bmluL2EvdHIvY2xpY2snICsgJz9jbGljaz1jYWYnICsgJyZkb21haW49dGhlZGVudGFsZ3VpZGUubmV0JnVpZD1NVGMxT0RZNU1EWTRNQzQxT1RrME9qUXpNems0TXpsaVltWXhNalF4WldJMlpEZ3hZelkyT1RnNVlqUTBabVU0TVdOalpEVTRZVEl3TVdGbE5XTTVNekpsWVRRek5UZ3laVEZqTmpVMlltUTZOamhrTXpka056ZzVNalUzWlElM0QlM0QmdHM9ZXlKaGJHY2lPaUpCTVRJNFMxY2lMQ0psYm1NaU9pSkJNVEk0UTBKRExVaFRNalUySW4wLkYwYmlHQ3N3VXBSRHZXMklZbjVySjc0RjRCTGs4VFBfQ2ZjTlp1SmlJU1l2MUtSdHJmeDExUS5GTG5mUjNGeTV2bFliZHNXbUNVcDBBLkhzYnNNRFpEeE9ldDJWb0NyZjVERzFpYzlzSGNoc3d6MjN6RXJIaVRaUUFaaTZ4Sjdiam9IS1NEUE85VjNGeXhWaFMwTDVLb0pwSU5mV2lTSzduZ3hneUxpQWZjN0VNRE01WEpzd09HQmVJdjAtR3ZoaXJBbFpUdUpYM1VGRk1ZV19tcTl3ZGxvNkgyZmFCTFo1eXBCMmxSOGlzUGxkX2NmZDNZZm5YRU5pb05LVEIwa3d6Tks1WWxwZnlnQ1kwTVRBbmJERnAxM3BGLXZwMWxuNTVqc1JvV0xzM3o5QkpjRzg0c01TVWxSbzlJZ1MzSkk3RGE0YkdkNXczbFUxbWNjUU5CNGxPVk0zbzJkV1ZkSDBYVWxBR1JtSTVwTFhlWHR4V19GYzY3ZldPSE9DYmlLTk1Nc3FZMVlyVGhOZVNDTFNCa3BIVlRuczdtMHJUeVZoMnJfMDlyUDNRaUV1ZWJmRG1jWXlrZnByVVZJcHRQOEU2R05ER3JGVWVJOFJtSmlqSDVhd2M0VlpvRUhrWFZKTHFlb1JNNEdtOXpmN2cyQ3Fwd293aG9jMTBwRC1yb2dTMndGcTdlNTY2bUtoa200WmxrZzVIYUZfOWxRSE5zeFdUS2FBWlh6Y2YyVWlfcFJYY3RkVmJtSGVFdl95N3ljY0RNUklSbGhtRWsyWXVack9uUURRbzdRWlZvb1FacFd2eVFtQWlkcEVFSzZ5ckU5MmVKSzVROEh6cEpXZ0tCZW9uUkVJajBBcnY2cGFhVUd1aTg3N3FiWjFtcWZ4Y3hyQnIxRXplLUU4bUFLWG5PS2s0bnNrckpzMUUubWJFSWg2ZVFzRVBSckh5a29TZlRtQSZhZHRlc3Q9b2ZmJyB9KTt4KHBhZ2VPcHRpb25zLCBbXSApO3gocGFnZU9wdGlvbnMsIHsgZG9tYWluUmVnaXN0cmFudDonYXMtZHJpZC0yMjA0OTE5NTE5NDM3MDU0JyB9ICk7ZnVuY3Rpb24gbG9hZEZlZWQoKSB7bGV0IHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtsZXQgYmx1cnJlZFRlcm1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JsdXJyZWQtdGVybXMnKTtpZiAoYmx1cnJlZFRlcm1zICE9PSBudWxsKSB7Ymx1cnJlZFRlcm1zLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7fXMuc3JjID0gJy8vd3d3Lmdvb2dsZS5jb20vYWRzZW5zZS9kb21haW5zL2NhZi5qcz9hYnA9MSZhZHNkZWxpPXRydWUnO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocyk7bGV0IGEgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3Mub25sb2FkID0gZnVuY3Rpb24gKCkge2xldCBjID0gZ29vZ2xlLmFkcy5kb21haW5zLkNhZjtzd2l0Y2ggKGEubGVuZ3RoKSB7Y2FzZSAxOnJldHVybiBuZXcgYyhhWzBdKTtjYXNlIDI6cmV0dXJuIG5ldyBjKGFbMF0sIGFbMV0pO2Nhc2UgMzpyZXR1cm4gbmV3IGMoYVswXSwgYVsxXSwgYVsyXSk7Y2FzZSA0OnJldHVybiBuZXcgYyhhWzBdLCBhWzFdLCBhWzJdLCBhWzNdKTtjYXNlIDU6cmV0dXJuIG5ldyBjKGFbMF0sIGFbMV0sIGFbMl0sIGFbM10sIGFbNF0pO31yZXR1cm4gYy5hcHBseShudWxsLCBhKTt9O308L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgbHMgPSBmdW5jdGlvbih4aHIsIHRva2VuKSB7CiAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkgewogICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PT0gWE1MSHR0cFJlcXVlc3QuRE9ORSkgewogICAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA+PSAyMDAgJiYgeGhyLnN0YXR1cyA8PSA0MDApIHsKICAgICAgICAgICAgICAgIGlmICh4aHIucmVzcG9uc2VUZXh0LnRyaW0oKSA9PT0gJycpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04ucGFyc2UoeGhyLnJlc3BvbnNlVGV4dCkpCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnVGhlcmUgd2FzIGEgcHJvYmxlbSB3aXRoIHRoZSByZXF1ZXN0LicpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgCiAgICB4aHIub3BlbignR0VUJywgJy9tdW5pbi9hL2wnICsgJ3M/dD02OGQzN2Q3OCZ0b2tlbj0nICsgZW5jb2RlVVJJKHRva2VuKSwgdHJ1ZSk7CiAgICB4aHIuc2VuZCgpOwp9OwpscyhuZXcgWE1MSHR0cFJlcXVlc3QoKSwgJ2EwNDgxYzQ0YTI1ZGMzZmEzMjVjYjc3YTM0YzUxYzNmNGI4ZjJlZWEnKTsKaWYgKHR5cGVvZiB3aW5kb3cuY2hyb25vc2ZhaWxlZCA9PT0gJ2Z1bmN0aW9uJykgeyB3aW5kb3cuY2hyb25vc2ZhaWxlZCgpOyB9Cjwvc2NyaXB0PgoKPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPngocGFnZU9wdGlvbnMsIHsgInN0eWxlSWQiOjU4Mzc4ODM5NTl9KTs8L3NjcmlwdD4KPHNjcmlwdD4KICAgIGZ1bmN0aW9uIGdldExvYWRGZWVkQXJndW1lbnRzKCkgewogICAgICAgIGxldCBhcmd1bWVudHMgPSBbCiAgICAgICAgICAgIHBhZ2VPcHRpb25zCiAgICAgICAgXTsKCiAgICAgICAgbGV0IHBvc3NpYmxlQXJndW1lbnRzID0gWydhZGJsb2NrJywgJ2FkYmxvY2sxJywgJ2FkYmxvY2syJywgJ3RjYmxvY2snLCAnc2VhcmNoYm94QmxvY2snLCAncnRibG9jaycsICdyc2Jsb2NrJywgJ3NlYXJjaGJsb2NrJ107CiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3NzaWJsZUFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAodHlwZW9mIHRoaXNbcG9zc2libGVBcmd1bWVudHNbaV1dICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgYXJndW1lbnRzLnB1c2godGhpc1twb3NzaWJsZUFyZ3VtZW50c1tpXV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJndW1lbnRzOwogICAgfQo8L3NjcmlwdD4KCiAgICA8c2NyaXB0PgogICAgICAgIGxvYWRGZWVkKC4uLmdldExvYWRGZWVkQXJndW1lbnRzKCkpOwogICAgPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo="/> The root is attached to the tooth-bearing bone—the alveolar processes—of the jaws by a fibrous ligament referred to as the periodontal ligament or membrane. The “neck” of the basis is embraced by the fleshy gum tissue (a specialized area of connective tissue coated with mucous membrane that lines the mouth cavity). The form of the crown and root vary among completely different teeth and among completely different species of animals. Premolars and molars have a series of elevations, or cusps, which may be used for breaking up particles of meals. Behind every canine are two premolars, which may each reduce and grind food. Website: