// @generated by libremetaverse-codegen; DO NOT EDIT. // Regenerate: cargo run -p libremetaverse-codegen -- generate // Generator: visual-params // Source: codegen/inputs/avatar_lad.xml sha256=6f97a1408fa8f0ab5c09043da433c701701fe075e8a97867fcbcda207adf9eaf license=CC-BY-SA-3.0 #![allow( clippy::float_cmp, clippy::manual_string_new, clippy::missing_errors_doc, clippy::must_use_candidate, clippy::needless_pass_by_value, clippy::too_many_lines, clippy::unnecessary_wraps )] use std::collections::{BTreeMap, HashMap}; use std::sync::OnceLock; #[derive(Clone, Debug, PartialEq)] pub struct VisualAlphaParam { pub domain: f32, pub multiply_blend: bool, pub skip_if_zero: bool, pub tga_file: String, } impl VisualAlphaParam { pub fn new( domain: f32, tga_file: String, skip_if_zero: bool, multiply_blend: bool, ) -> Result { Ok(Self { domain, multiply_blend, skip_if_zero, tga_file, }) } } #[derive(Clone, Debug, PartialEq)] pub struct VisualColorParam { pub colors: Vec, pub operation: crate::VisualColorOperation, } impl VisualColorParam { pub fn new( operation: crate::VisualColorOperation, colors: Vec, ) -> Result { Ok(Self { colors, operation }) } } #[derive(Clone, Debug, PartialEq)] pub struct DrivenParamInfo { pub has_range: bool, pub max1: f32, pub max2: f32, pub min1: f32, pub min2: f32, pub param_id: i32, } impl DrivenParamInfo { pub fn new( param_id: i32, min1: f32, max1: f32, max2: f32, min2: f32, has_range: bool, ) -> Result { Ok(Self { has_range, max1, max2, min1, min2, param_id, }) } } #[derive(Clone, Debug, PartialEq)] pub struct SkeletalBoneInfo { pub bone_name: String, pub has_position_deformation: bool, pub position_deformation: libremetaverse_types::Vector3, pub scale_deformation: libremetaverse_types::Vector3, } impl SkeletalBoneInfo { pub fn new( bone_name: String, scale_deformation: libremetaverse_types::Vector3, position_deformation: libremetaverse_types::Vector3, has_position_deformation: bool, ) -> Result { Ok(Self { bone_name, has_position_deformation, position_deformation, scale_deformation, }) } } #[derive(Clone, Debug, PartialEq)] pub struct VolumeMorphInfo { pub bone_name: String, pub has_position: bool, pub has_scale: bool, pub position_delta: libremetaverse_types::Vector3, pub scale_delta: libremetaverse_types::Vector3, } impl VolumeMorphInfo { pub fn new( bone_name: String, scale_delta: libremetaverse_types::Vector3, has_scale: bool, position_delta: libremetaverse_types::Vector3, has_position: bool, ) -> Result { Ok(Self { bone_name, has_position, has_scale, position_delta, scale_delta, }) } } #[derive(Clone, Debug, PartialEq)] pub struct VisualParam { pub alpha_params: Option>, pub color_params: Option>, pub default_value: f32, pub driven_params: Option>, pub drivers: Option>, pub group: i32, pub is_bump_attribute: bool, pub label: String, pub label_max: String, pub label_min: String, pub max_value: f32, pub min_value: f32, pub name: String, pub param_id: i32, pub skeletal_distortions: Option>, pub volume_morphs: Option>, pub wearable: Option, } impl Default for VisualParam { fn default() -> Self { Self { alpha_params: None, color_params: None, default_value: 0.0, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: String::new(), label_max: String::new(), label_min: String::new(), max_value: 0.0, min_value: 0.0, name: String::new(), param_id: 0, skeletal_distortions: None, volume_morphs: None, wearable: None, } } } impl VisualParam { #[allow(clippy::too_many_arguments)] pub fn new( param_id: i32, name: String, group: i32, wearable: Option, label: String, label_min: String, label_max: String, def_: f32, min: f32, max: f32, is_bump_attribute: bool, drivers: Option>, alpha: Option>, color_params: Option>, driven_params: Option>, skeletal_distortions: Option>, volume_morphs: Option>, ) -> Result { Ok(Self { alpha_params: alpha, color_params, default_value: def_, driven_params, drivers, group, is_bump_attribute, label, label_max, label_min, max_value: max, min_value: min, name, param_id, skeletal_distortions, volume_morphs, wearable, }) } } const GROUP0_PARAM_IDS: &[i32] = &[ 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 31, 33, 34, 35, 36, 37, 38, 80, 93, 98, 99, 105, 108, 110, 111, 112, 113, 114, 115, 116, 117, 119, 130, 131, 132, 133, 134, 135, 136, 137, 140, 141, 142, 143, 150, 155, 157, 162, 163, 165, 166, 167, 168, 169, 177, 181, 182, 183, 184, 185, 192, 193, 196, 198, 503, 505, 506, 507, 508, 513, 514, 515, 517, 518, 603, 604, 605, 606, 607, 608, 609, 616, 617, 619, 624, 625, 629, 637, 638, 646, 647, 649, 650, 652, 653, 654, 656, 659, 662, 663, 664, 665, 674, 675, 676, 678, 682, 683, 684, 685, 690, 692, 693, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 750, 752, 753, 754, 755, 756, 757, 758, 759, 760, 762, 763, 764, 765, 769, 773, 775, 779, 780, 781, 785, 789, 795, 796, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 834, 835, 836, 840, 841, 842, 844, 848, 858, 859, 860, 861, 862, 863, 868, 869, 877, 879, 880, 921, 922, 923, 10000, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009, 10010, 10011, 10012, 10013, 10014, 10015, 10016, 10017, 10018, 10019, 10020, 10021, 10022, 10023, 10024, 10025, 10026, 10027, 10028, 10029, 10030, 10031, 10032, 11000, 11001, ]; fn generated_params() -> &'static BTreeMap { static PARAMS: OnceLock> = OnceLock::new(); PARAMS .get_or_init(|| { let mut params = BTreeMap::new(); params .insert( 1, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20001 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30001 } ], ), drivers: Some(vec![20001, 30001]), group: 0, is_bump_attribute: false, label: "Brow Size".to_owned(), label_max: "Large".to_owned(), label_min: "Small".to_owned(), max_value: 2.0_f32, min_value: -0.3_f32, name: "Big_Brow".to_owned(), param_id: 1, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 2, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20002 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30002 } ], ), drivers: Some(vec![20002, 30002]), group: 0, is_bump_attribute: false, label: "Nose Size".to_owned(), label_max: "Large".to_owned(), label_min: "Small".to_owned(), max_value: 2.5_f32, min_value: -0.8_f32, name: "Nose_Big_Out".to_owned(), param_id: 2, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 4, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20004 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30004 } ], ), drivers: Some(vec![20004, 30004]), group: 0, is_bump_attribute: false, label: "Nostril Width".to_owned(), label_max: "Broad".to_owned(), label_min: "Narrow".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Broad_Nostrils".to_owned(), param_id: 4, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 5, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Chin Cleft".to_owned(), label_max: "Cleft".to_owned(), label_min: "Round".to_owned(), max_value: 1.0_f32, min_value: -0.1_f32, name: "Cleft_Chin".to_owned(), param_id: 5, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 6, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20006 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30006 } ], ), drivers: Some(vec![20006, 30006]), group: 0, is_bump_attribute: false, label: "Nose Tip Shape".to_owned(), label_max: "Bulbous".to_owned(), label_min: "Pointy".to_owned(), max_value: 1.0_f32, min_value: -0.3_f32, name: "Bulbous_Nose_Tip".to_owned(), param_id: 6, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 7, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20007 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30007 } ], ), drivers: Some(vec![20007, 30007]), group: 0, is_bump_attribute: false, label: "Chin Angle".to_owned(), label_max: "Chin In".to_owned(), label_min: "Chin Out".to_owned(), max_value: 0.5_f32, min_value: -0.5_f32, name: "Weak_Chin".to_owned(), param_id: 7, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 8, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20008 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30008 } ], ), drivers: Some(vec![20008, 30008]), group: 0, is_bump_attribute: false, label: "Chin-Neck".to_owned(), label_max: "Double Chin".to_owned(), label_min: "Tight Chin".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Double_Chin".to_owned(), param_id: 8, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 10, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20010 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30010 } ], ), drivers: Some(vec![20010, 30010]), group: 0, is_bump_attribute: false, label: "Lower Cheeks".to_owned(), label_max: "Sunken".to_owned(), label_min: "Well-Fed".to_owned(), max_value: 3.0_f32, min_value: -1.5_f32, name: "Sunken_Cheeks".to_owned(), param_id: 10, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 11, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20011 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30011 } ], ), drivers: Some(vec![20011, 30011]), group: 0, is_bump_attribute: false, label: "Upper Bridge".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Noble_Nose_Bridge".to_owned(), param_id: 11, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 12, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 2.5_f32, min_value: -0.5_f32, name: "Jowls".to_owned(), param_id: 12, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 13, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Upper Chin Cleft".to_owned(), label_max: "Cleft".to_owned(), label_min: "Round".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "Cleft_Chin_Upper".to_owned(), param_id: 13, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 14, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20014 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30014 } ], ), drivers: Some(vec![20014, 30014]), group: 0, is_bump_attribute: false, label: "Cheek Bones".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "High_Cheek_Bones".to_owned(), param_id: 14, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 15, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20015 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30015 } ], ), drivers: Some(vec![20015, 30015]), group: 0, is_bump_attribute: false, label: "Ear Angle".to_owned(), label_max: "Out".to_owned(), label_min: "In".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Ears_Out".to_owned(), param_id: 15, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 16, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 870 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30016 } ], ), drivers: Some(vec![870, 30016]), group: 0, is_bump_attribute: false, label: "Eyebrow Points".to_owned(), label_max: "Pointy".to_owned(), label_min: "Smooth".to_owned(), max_value: 3.0_f32, min_value: -0.5_f32, name: "Pointy_Eyebrows".to_owned(), param_id: 16, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 17, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20017 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30017 } ], ), drivers: Some(vec![20017, 30017]), group: 0, is_bump_attribute: false, label: "Jaw Shape".to_owned(), label_max: "Square".to_owned(), label_min: "Pointy".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Square_Jaw".to_owned(), param_id: 17, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 18, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20018 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30018 } ], ), drivers: Some(vec![20018, 30018]), group: 0, is_bump_attribute: false, label: "Upper Cheeks".to_owned(), label_max: "Puffy".to_owned(), label_min: "Thin".to_owned(), max_value: 2.5_f32, min_value: -1.5_f32, name: "Puffy_Upper_Cheeks".to_owned(), param_id: 18, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 19, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20019 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30019 } ], ), drivers: Some(vec![20019, 30019]), group: 0, is_bump_attribute: false, label: "Nose Tip Angle".to_owned(), label_max: "Upturned".to_owned(), label_min: "Downturned".to_owned(), max_value: 1.0_f32, min_value: -1.5_f32, name: "Upturned_Nose_Tip".to_owned(), param_id: 19, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 20, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20020 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30020 } ], ), drivers: Some(vec![20020, 30020]), group: 0, is_bump_attribute: false, label: "Nose Thickness".to_owned(), label_max: "Bulbous Nose".to_owned(), label_min: "Thin Nose".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Bulbous_Nose".to_owned(), param_id: 20, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 21, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20021 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30021 } ], ), drivers: Some(vec![20021, 30021]), group: 0, is_bump_attribute: false, label: "Upper Eyelid Fold".to_owned(), label_max: "Creased".to_owned(), label_min: "Uncreased".to_owned(), max_value: 1.3_f32, min_value: -0.2_f32, name: "Upper_Eyelid_Fold".to_owned(), param_id: 21, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 22, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Attached Earlobes".to_owned(), label_max: "Attached".to_owned(), label_min: "Unattached".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Attached_Earlobes".to_owned(), param_id: 22, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 23, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20023 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30023 } ], ), drivers: Some(vec![20023, 30023]), group: 0, is_bump_attribute: false, label: "Eye Bags".to_owned(), label_max: "Baggy".to_owned(), label_min: "Smooth".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Baggy_Eyes".to_owned(), param_id: 23, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 24, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20024 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30024 } ], ), drivers: Some(vec![20024, 30024]), group: 0, is_bump_attribute: false, label: "Eye Opening".to_owned(), label_max: "Wide".to_owned(), label_min: "Narrow".to_owned(), max_value: 2.0_f32, min_value: -1.5_f32, name: "Wide_Eyes".to_owned(), param_id: 24, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 25, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20025 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30025 } ], ), drivers: Some(vec![20025, 30025]), group: 0, is_bump_attribute: false, label: "Lip Cleft".to_owned(), label_max: "Wide".to_owned(), label_min: "Narrow".to_owned(), max_value: 1.5_f32, min_value: -0.8_f32, name: "Wide_Lip_Cleft".to_owned(), param_id: 25, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 26, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 0.7_f32, min_value: 0.0_f32, name: "Lips_Thin".to_owned(), param_id: 26, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 27, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20027 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30027 } ], ), drivers: Some(vec![20027, 30027]), group: 0, is_bump_attribute: false, label: "Bridge Width".to_owned(), label_max: "Wide".to_owned(), label_min: "Narrow".to_owned(), max_value: 1.2_f32, min_value: -1.3_f32, name: "Wide_Nose_Bridge".to_owned(), param_id: 27, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 28, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Lips_Fat".to_owned(), param_id: 28, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 29, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.3_f32, min_value: -0.7_f32, name: "Wide_Upper_Lip".to_owned(), param_id: 29, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 30, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.3_f32, min_value: -0.7_f32, name: "Wide_Lower_Lip".to_owned(), param_id: 30, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 31, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 872 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30031 } ], ), drivers: Some(vec![872, 30031]), group: 0, is_bump_attribute: false, label: "Eyebrow Arc".to_owned(), label_max: "Arced".to_owned(), label_min: "Flat".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Arced_Eyebrows".to_owned(), param_id: 31, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 32, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "Male".to_owned(), label_min: "Female".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Male_Skeleton".to_owned(), param_id: 32, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mNeck".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mCollarLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.4_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mCollarRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.4_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mShoulderLeft".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.35_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mShoulderRight".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.35_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mElbowLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mElbowRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mChest" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mTorso" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mSpine3" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mSpine4" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mHipLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHipRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mKneeLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mKneeRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mWingsRoot".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing1Right" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.05_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing1Left" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.05_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 33, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Height".to_owned(), label_max: "Tall".to_owned(), label_min: "Short".to_owned(), max_value: 2.0_f32, min_value: -2.3_f32, name: "Height".to_owned(), param_id: 33, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mNeck".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.02_f32 } }, SkeletalBoneInfo { bone_name : "mCollarLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mCollarRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mShoulderLeft".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.08_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mShoulderRight".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.08_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mElbowLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.06_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mElbowRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.06_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mChest" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mTorso" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mSpine3" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mSpine4" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mHipLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHipRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mKneeLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mKneeRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mWing1Left" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing2Left" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.015_f32, y : 0.015_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing3Left" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.025_f32, y : 0.025_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing4Left" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.03_f32, y : 0.03_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing4FanLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.03_f32, y : 0.03_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing1Right" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing2Right" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.015_f32, y : - 0.015_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing3Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.025_f32, y : - 0.025_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing4Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.03_f32, y : - 0.03_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing4FanRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.03_f32, y : - 0.03_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail1".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail2".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail3".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail4".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail5".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail6".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 34, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Body Thickness".to_owned(), label_max: "Body Thick".to_owned(), label_min: "Body Thin".to_owned(), max_value: 1.5_f32, min_value: -0.7_f32, name: "Thickness".to_owned(), param_id: 34, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mNeck".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mCollarLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.2_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mCollarRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.2_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mShoulderLeft".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mShoulderRight".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mElbowLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mElbowRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mChest" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTorso" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mSpine3" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mSpine4" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mPelvis" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mSpine1" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mSpine2" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHipLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.13_f32, y : 0.13_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHipRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.13_f32, y : 0.13_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mKneeLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.12_f32, y : 0.12_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mKneeRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.12_f32, y : 0.12_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimbsRoot".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.13_f32, y : 0.13_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.13_f32, y : 0.13_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.12_f32, y : 0.12_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.12_f32, y : 0.12_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail1".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.1_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mTail2" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.1_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mTail3" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.1_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mTail4" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.1_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mTail5" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.1_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mTail6" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.1_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mWing1Right" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing1Left" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.01_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 35, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20035 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30035 } ], ), drivers: Some(vec![20035, 30035]), group: 0, is_bump_attribute: false, label: "Ear Size".to_owned(), label_max: "Large".to_owned(), label_min: "Small".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Big_Ears".to_owned(), param_id: 35, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 36, VisualParam { alpha_params: None, color_params: None, default_value: -0.5_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Shoulders".to_owned(), label_max: "Broad".to_owned(), label_min: "Narrow".to_owned(), max_value: 1.4_f32, min_value: -1.8_f32, name: "Shoulders".to_owned(), param_id: 36, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mNeck".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.03_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mCollarLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.02_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mCollarRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.02_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mChest" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.08_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.02_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mWing1Left" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.02_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 37, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Hip Width".to_owned(), label_max: "Wide".to_owned(), label_min: "Narrow".to_owned(), max_value: 2.8_f32, min_value: -3.2_f32, name: "Hip Width".to_owned(), param_id: 37, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mPelvis".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mSpine1" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mSpine2" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHipLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.004_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHipRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.004_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimbsRoot".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.004_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.004_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail1".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.05_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail2" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.02_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mTail3" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.01_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 38, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long Torso".to_owned(), label_min: "Short Torso".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Torso Length".to_owned(), param_id: 38, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mTorso".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.3_f32 } }, SkeletalBoneInfo { bone_name : "mSpine3" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.3_f32 } }, SkeletalBoneInfo { bone_name : "mSpine4" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.3_f32 } }, SkeletalBoneInfo { bone_name : "mPelvis" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mSpine1" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mSpine2" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHipLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHipRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mKneeRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mKneeLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimbsRoot".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.05_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 40, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Male_Head".to_owned(), param_id: 40, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 41, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Old".to_owned(), param_id: 41, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 51, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Furrowed_Eyebrows".to_owned(), param_id: 51, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 53, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Surprised_Eyebrows".to_owned(), param_id: 53, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 54, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Worried_Eyebrows".to_owned(), param_id: 54, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 55, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Frown_Mouth".to_owned(), param_id: 55, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 57, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Smile_Mouth".to_owned(), param_id: 57, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 58, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Blink_Left".to_owned(), param_id: 58, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 59, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Blink_Right".to_owned(), param_id: 59, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 70, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Lipsync_Aah".to_owned(), param_id: 70, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 71, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Lipsync_Ooh".to_owned(), param_id: 71, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 80, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 32 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 153 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 40 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 100 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 857 } ], ), drivers: Some(vec![32, 153, 40, 100, 857]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "male".to_owned(), param_id: 80, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 93, VisualParam { alpha_params: None, color_params: None, default_value: 0.8_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1058 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1059 } ], ), drivers: Some(vec![1058, 1059]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Glove Length".to_owned(), param_id: 93, skeletal_distortions: None, volume_morphs: None, wearable: Some("gloves".to_owned()), }, ); params .insert( 98, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Lighter".to_owned(), label_min: "Darker".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eye Lightness".to_owned(), param_id: 98, skeletal_distortions: None, volume_morphs: None, wearable: Some("eyes".to_owned()), }, ); params .insert( 99, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(50_u8) / 255.0, g : f32::from(25_u8) / 255.0, b : f32::from(5_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(109_u8) / 255.0, g : f32::from(55_u8) / 255.0, b : f32::from(15_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(150_u8) / 255.0, g : f32::from(93_u8) / 255.0, b : f32::from(49_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(152_u8) / 255.0, g : f32::from(118_u8) / 255.0, b : f32::from(25_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(95_u8) / 255.0, g : f32::from(179_u8) / 255.0, b : f32::from(107_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(87_u8) / 255.0, g : f32::from(192_u8) / 255.0, b : f32::from(191_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(95_u8) / 255.0, g : f32::from(172_u8) / 255.0, b : f32::from(179_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(128_u8) / 255.0, g : f32::from(128_u8) / 255.0, b : f32::from(128_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Unnatural".to_owned(), label_min: "Natural".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eye Color".to_owned(), param_id: 99, skeletal_distortions: None, volume_morphs: None, wearable: Some("eyes".to_owned()), }, ); params .insert( 100, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "Male_Torso".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Male_Torso".to_owned(), param_id: 100, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "CHEST".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.03_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.03_f32, y : 0.04_f32, z : 0.02_f32 } }, VolumeMorphInfo { bone_name : "BELLY" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.03_f32, y : 0.0_f32, z : 0.02_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.03_f32, y : 0.03_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "LEFT_PEC" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.008_f32, y : - 0.03_f32, z : 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.008_f32, y : 0.03_f32, z : 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "L_CLAVICLE" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.01_f32 } }, VolumeMorphInfo { bone_name : "L_UPPER_ARM" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.01_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_ARM" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "R_CLAVICLE".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.01_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_ARM" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.01_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_ARM" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "NECK" .to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "HEAD" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.01_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 101, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Relaxed".to_owned(), param_id: 101, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 102, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Point".to_owned(), param_id: 102, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 103, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Fist".to_owned(), param_id: 103, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 104, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Big_Belly_Torso".to_owned(), param_id: 104, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "BELLY".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.07_f32, y : 0.0_f32, z : - 0.07_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.075_f32, y : 0.04_f32, z : 0.03_f32 } }, VolumeMorphInfo { bone_name : "PELVIS".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.07_f32, y : 0.0_f32, z : - 0.02_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.075_f32, y : 0.04_f32, z : 0.03_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 105, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.01_f32, param_id : 843 }, DrivenParamInfo { has_range : true, max1 : 0.01_f32, max2 : 0.01_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 627 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 626 } ], ), drivers: Some(vec![843, 627, 626]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Large".to_owned(), label_min: "Small".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Breast Size".to_owned(), param_id: 105, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 106, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Torso Muscles".to_owned(), label_max: "Muscular".to_owned(), label_min: "Regular".to_owned(), max_value: 1.4_f32, min_value: 0.0_f32, name: "Muscular_Torso".to_owned(), param_id: 106, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "L_CLAVICLE".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "L_UPPER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "R_CLAVICLE".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.005_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 107, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Torso Muscles".to_owned(), label_max: "Muscular".to_owned(), label_min: "Regular".to_owned(), max_value: 1.4_f32, min_value: 0.0_f32, name: "Muscular_Torso".to_owned(), param_id: 107, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "L_CLAVICLE".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "L_UPPER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "R_CLAVICLE".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.0_f32, z : 0.005_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.005_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 108, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Wild".to_owned(), label_min: "None".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Rainbow Color".to_owned(), param_id: 108, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 110, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(218_u8) / 255.0, g : f32::from(41_u8) / 255.0, b : f32::from(37_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Blend, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Ruddiness".to_owned(), label_max: "Ruddy".to_owned(), label_min: "Pale".to_owned(), max_value: 0.1_f32, min_value: 0.0_f32, name: "Red Skin".to_owned(), param_id: 110, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 111, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(252_u8) / 255.0, g : f32::from(215_u8) / 255.0, b : f32::from(200_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(240_u8) / 255.0, g : f32::from(177_u8) / 255.0, b : f32::from(112_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(90_u8) / 255.0, g : f32::from(40_u8) / 255.0, b : f32::from(16_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(29_u8) / 255.0, g : f32::from(9_u8) / 255.0, b : f32::from(6_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.5_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Dark".to_owned(), label_min: "Light".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pigment".to_owned(), param_id: 111, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 112, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Wild".to_owned(), label_min: "None".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Rainbow Color".to_owned(), param_id: 112, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 113, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(118_u8) / 255.0, g : f32::from(47_u8) / 255.0, b : f32::from(19_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Very Red".to_owned(), label_min: "No Red".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Red Hair".to_owned(), param_id: 113, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 114, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(22_u8) / 255.0, g : f32::from(6_u8) / 255.0, b : f32::from(6_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(29_u8) / 255.0, g : f32::from(9_u8) / 255.0, b : f32::from(6_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(45_u8) / 255.0, g : f32::from(21_u8) / 255.0, b : f32::from(11_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(78_u8) / 255.0, g : f32::from(39_u8) / 255.0, b : f32::from(11_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(90_u8) / 255.0, g : f32::from(53_u8) / 255.0, b : f32::from(16_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(136_u8) / 255.0, g : f32::from(92_u8) / 255.0, b : f32::from(21_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(150_u8) / 255.0, g : f32::from(106_u8) / 255.0, b : f32::from(33_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(198_u8) / 255.0, g : f32::from(156_u8) / 255.0, b : f32::from(74_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(233_u8) / 255.0, g : f32::from(192_u8) / 255.0, b : f32::from(103_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(238_u8) / 255.0, g : f32::from(205_u8) / 255.0, b : f32::from(136_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.5_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Blonde".to_owned(), label_min: "Black".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Blonde Hair".to_owned(), param_id: 114, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 115, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "All White".to_owned(), label_min: "No White".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "White Hair".to_owned(), param_id: 115, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 116, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(198_u8) / 255.0, g : f32::from(71_u8) / 255.0, b : f32::from(71_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(198_u8) / 255.0, g : f32::from(71_u8) / 255.0, b : f32::from(71_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Rosy".to_owned(), label_min: "Less Rosy".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Rosy Complexion".to_owned(), param_id: 116, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 117, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(220_u8) / 255.0, g : f32::from(115_u8) / 255.0, b : f32::from(115_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(220_u8) / 255.0, g : f32::from(115_u8) / 255.0, b : f32::from(115_u8) / 255.0, a : f32::from(128_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Pinker".to_owned(), label_min: "Darker".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Lip Pinkness".to_owned(), param_id: 117, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 118, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.3_f32, multiply_blend: false, skip_if_zero: true, tga_file: "bump_face_wrinkles.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Wrinkles".to_owned(), param_id: 118, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 119, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1000 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1001 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30119 } ], ), drivers: Some(vec![1000, 1001, 30119]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Bushy Eyebrows".to_owned(), label_min: "Thin Eyebrows".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eyebrow Size".to_owned(), param_id: 119, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 125, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(128_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shading".to_owned(), param_id: 125, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 126, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(64_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shading".to_owned(), param_id: 126, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 130, VisualParam { alpha_params: None, color_params: None, default_value: 0.45_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 144 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 145 } ], ), drivers: Some(vec![144, 145]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Front Fringe".to_owned(), param_id: 130, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 131, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 146 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 147 } ], ), drivers: Some(vec![146, 147]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Side Fringe".to_owned(), param_id: 131, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 132, VisualParam { alpha_params: None, color_params: None, default_value: 0.39_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 148 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 149 } ], ), drivers: Some(vec![148, 149]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Back Fringe".to_owned(), param_id: 132, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 133, VisualParam { alpha_params: None, color_params: None, default_value: 0.25_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 172 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 171 } ], ), drivers: Some(vec![172, 171]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair Front".to_owned(), param_id: 133, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 134, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 174 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 173 } ], ), drivers: Some(vec![174, 173]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair Sides".to_owned(), param_id: 134, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 135, VisualParam { alpha_params: None, color_params: None, default_value: 0.55_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 176 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 175 } ], ), drivers: Some(vec![176, 175]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair Back".to_owned(), param_id: 135, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 136, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 179 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 178 } ], ), drivers: Some(vec![179, 178]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Sweep Back".to_owned(), label_min: "Sweep Forward".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair Sweep".to_owned(), param_id: 136, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 137, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 190 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 191 } ], ), drivers: Some(vec![190, 191]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Right".to_owned(), label_min: "Left".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair Tilt".to_owned(), param_id: 137, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 140, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Middle Part".to_owned(), label_max: "Part".to_owned(), label_min: "No Part".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Hair_Part_Middle".to_owned(), param_id: 140, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 141, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Right Part".to_owned(), label_max: "Part".to_owned(), label_min: "No Part".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Hair_Part_Right".to_owned(), param_id: 141, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 142, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Left Part".to_owned(), label_max: "Part".to_owned(), label_min: "No Part".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Hair_Part_Left".to_owned(), param_id: 142, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 143, VisualParam { alpha_params: None, color_params: None, default_value: 0.125_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Full Hair Sides".to_owned(), label_max: "Full Sides".to_owned(), label_min: "Mowhawk".to_owned(), max_value: 1.5_f32, min_value: -4.0_f32, name: "Hair_Sides_Full".to_owned(), param_id: 143, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 144, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Front Bangs Up".to_owned(), label_max: "Bangs Up".to_owned(), label_min: "Bangs".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bangs_Front_Up".to_owned(), param_id: 144, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 145, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Front Bangs Down".to_owned(), label_max: "Bangs Down".to_owned(), label_min: "Bangs".to_owned(), max_value: 5.0_f32, min_value: 0.0_f32, name: "Bangs_Front_Down".to_owned(), param_id: 145, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 146, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Side Bangs Up".to_owned(), label_max: "Side Bangs Up".to_owned(), label_min: "Side Bangs".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bangs_Sides_Up".to_owned(), param_id: 146, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 147, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Side Bangs Down".to_owned(), label_max: "Side Bangs Down".to_owned(), label_min: "Side Bangs".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Bangs_Sides_Down".to_owned(), param_id: 147, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 148, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Back Bangs Up".to_owned(), label_max: "Back Bangs Up".to_owned(), label_min: "Back Bangs".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bangs_Back_Up".to_owned(), param_id: 148, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 149, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Back Bangs Down".to_owned(), label_max: "Back Bangs Down".to_owned(), label_min: "Back Bangs".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Bangs_Back_Down".to_owned(), param_id: 149, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 150, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 125 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 126 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 160 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 161 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 874 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 878 } ], ), drivers: Some(vec![125, 126, 160, 161, 874, 878]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Body Definition".to_owned(), param_id: 150, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 151, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Butt Size".to_owned(), label_max: "Large".to_owned(), label_min: "Regular".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Big_Butt_Legs".to_owned(), param_id: 151, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "PELVIS".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.03_f32, y : 0.0_f32, z : - 0.025_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.03_f32, y : 0.0_f32, z : 0.02_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 152, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Leg Muscles".to_owned(), label_max: "More Muscles".to_owned(), label_min: "Regular Muscles".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "Muscular_Legs".to_owned(), param_id: 152, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "L_UPPER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.015_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.015_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.01_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 153, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Male_Legs".to_owned(), param_id: 153, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 155, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 29 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30155 } ], ), drivers: Some(vec![29, 30, 30155]), group: 0, is_bump_attribute: false, label: "Lip Width".to_owned(), label_max: "Wide Lips".to_owned(), label_min: "Narrow Lips".to_owned(), max_value: 1.3_f32, min_value: -0.9_f32, name: "Lip Width".to_owned(), param_id: 155, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 156, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Big_Belly_Legs".to_owned(), param_id: 156, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 157, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 104 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 156 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 849 } ], ), drivers: Some(vec![104, 156, 849]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Big".to_owned(), label_min: "Small".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Belly Size".to_owned(), param_id: 157, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 158, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(128_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shading".to_owned(), param_id: 158, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 159, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(64_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shading".to_owned(), param_id: 159, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 160, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(128_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shading".to_owned(), param_id: 160, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 161, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(64_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shading".to_owned(), param_id: 161, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 162, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 158 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 159 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 873 } ], ), drivers: Some(vec![158, 159, 873]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Facial Definition".to_owned(), param_id: 162, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 163, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 118 } ], ), drivers: Some(vec![118]), group: 3, is_bump_attribute: false, label: "".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Wrinkles".to_owned(), param_id: 163, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 165, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.5_f32, multiply_blend: false, skip_if_zero: true, tga_file: "freckles_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Freckles".to_owned(), param_id: 165, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 166, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1004 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1005 } ], ), drivers: Some(vec![1004, 1005]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Mutton Chops".to_owned(), label_min: "Short Sideburns".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Sideburns".to_owned(), param_id: 166, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 167, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1006 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1007 } ], ), drivers: Some(vec![1006, 1007]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Handlebars".to_owned(), label_min: "Chaplin".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Moustache".to_owned(), param_id: 167, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 168, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1008 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1009 } ], ), drivers: Some(vec![1008, 1009]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More soul".to_owned(), label_min: "Less soul".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Soulpatch".to_owned(), param_id: 168, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 169, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1010 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1011 } ], ), drivers: Some(vec![1010, 1011]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Curtains".to_owned(), label_min: "Less Curtains".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Chin Curtains".to_owned(), param_id: 169, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 171, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Front Hair Down".to_owned(), label_max: "Front Hair Down".to_owned(), label_min: "Front Hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Front_Down".to_owned(), param_id: 171, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 172, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Front Hair Up".to_owned(), label_max: "Front Hair Up".to_owned(), label_min: "Front Hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Front_Up".to_owned(), param_id: 172, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 173, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Sides Hair Down".to_owned(), label_max: "Sides Hair Down".to_owned(), label_min: "Sides Hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Sides_Down".to_owned(), param_id: 173, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 174, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Sides Hair Up".to_owned(), label_max: "Sides Hair Up".to_owned(), label_min: "Sides Hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Sides_Up".to_owned(), param_id: 174, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 175, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Back Hair Down".to_owned(), label_max: "Back Hair Down".to_owned(), label_min: "Back Hair".to_owned(), max_value: 3.0_f32, min_value: 0.0_f32, name: "Hair_Back_Down".to_owned(), param_id: 175, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 176, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Back Hair Up".to_owned(), label_max: "Back Hair Up".to_owned(), label_min: "Back Hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Back_Up".to_owned(), param_id: 176, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 177, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Rumpled Hair".to_owned(), label_max: "Rumpled Hair".to_owned(), label_min: "Smooth Hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Rumpled".to_owned(), param_id: 177, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 178, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Swept Back Hair".to_owned(), label_max: "Swept Back".to_owned(), label_min: "NotHair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Swept_Back".to_owned(), param_id: 178, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 179, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Swept Forward Hair".to_owned(), label_max: "Swept Forward".to_owned(), label_min: "Hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Swept_Forward".to_owned(), param_id: 179, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 180, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Hair Volume".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.3_f32, min_value: 0.0_f32, name: "Hair_Volume".to_owned(), param_id: 180, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 181, VisualParam { alpha_params: None, color_params: None, default_value: 0.14_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Big Hair Front".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Hair_Big_Front".to_owned(), param_id: 181, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 182, VisualParam { alpha_params: None, color_params: None, default_value: 0.7_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Big Hair Top".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Hair_Big_Top".to_owned(), param_id: 182, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 183, VisualParam { alpha_params: None, color_params: None, default_value: 0.05_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Big Hair Back".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Hair_Big_Back".to_owned(), param_id: 183, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 184, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Spiked Hair".to_owned(), label_max: "Big Spikes".to_owned(), label_min: "No Spikes".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Spiked".to_owned(), param_id: 184, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 185, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20185 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30185 } ], ), drivers: Some(vec![20185, 30185]), group: 0, is_bump_attribute: false, label: "Chin Depth".to_owned(), label_max: "Deep".to_owned(), label_min: "Shallow".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Deep_Chin".to_owned(), param_id: 185, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 186, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Egg Head".to_owned(), label_max: "Forehead Heavy".to_owned(), label_min: "Chin Heavy".to_owned(), max_value: 1.0_f32, min_value: -1.3_f32, name: "Egg_Head".to_owned(), param_id: 186, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 187, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Squash/Stretch Head".to_owned(), label_max: "Stretch Head".to_owned(), label_min: "Squash Head".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Squash_Stretch_Head".to_owned(), param_id: 187, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "HEAD".to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.008_f32, y : - 0.006_f32, z : 0.015_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 188, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "More Square".to_owned(), label_min: "Less Square".to_owned(), max_value: 0.7_f32, min_value: 0.0_f32, name: "Square_Head".to_owned(), param_id: 188, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 189, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "More Round".to_owned(), label_min: "Less Round".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Round_Head".to_owned(), param_id: 189, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 190, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Hair Tilted Right".to_owned(), label_max: "Tilt Right".to_owned(), label_min: "Hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Tilt_Right".to_owned(), param_id: 190, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 191, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Hair Tilted Left".to_owned(), label_max: "Tilt Left".to_owned(), label_min: "Hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Tilt_Left".to_owned(), param_id: 191, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 192, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Part Bangs".to_owned(), label_max: "Part Bangs".to_owned(), label_min: "No Part".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bangs_Part_Middle".to_owned(), param_id: 192, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 193, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 188 }, DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 642 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 189 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 643 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30193 } ], ), drivers: Some(vec![188, 642, 189, 643, 30193]), group: 0, is_bump_attribute: false, label: "Head Shape".to_owned(), label_max: "More Round".to_owned(), label_min: "More Square".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Head Shape".to_owned(), param_id: 193, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 194, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "Eyes Spread".to_owned(), label_min: "Eyes Together".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Eye_Spread".to_owned(), param_id: 194, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 195, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "Eyes Spread".to_owned(), label_min: "Eyes Together".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "EyeBone_Spread".to_owned(), param_id: 195, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mEyeLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mEyeRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.005_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.005_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.008_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.008_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 196, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 194 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 195 } ], ), drivers: Some(vec![194, 195]), group: 0, is_bump_attribute: false, label: "Eye Spacing".to_owned(), label_max: "Far Set Eyes".to_owned(), label_min: "Close Set Eyes".to_owned(), max_value: 1.0_f32, min_value: -2.0_f32, name: "Eye Spacing".to_owned(), param_id: 196, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 197, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "High Heels".to_owned(), label_min: "No Heels".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe_Heels".to_owned(), param_id: 197, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFootRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.08_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFootLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.08_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb4Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.08_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb4Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.08_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 198, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 197 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 500 } ], ), drivers: Some(vec![197, 500]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High Heels".to_owned(), label_min: "Low Heels".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Heel Height".to_owned(), param_id: 198, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 300, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Closed_Mouth".to_owned(), param_id: 300, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 301, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Tongue_Out".to_owned(), param_id: 301, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 302, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Surprise_Emote".to_owned(), param_id: 302, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 303, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Wink_Emote".to_owned(), param_id: 303, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 304, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Embarrassed_Emote".to_owned(), param_id: 304, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 305, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Shrug_Emote".to_owned(), param_id: 305, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 306, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Kiss".to_owned(), param_id: 306, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 307, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Bored_Emote".to_owned(), param_id: 307, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 308, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Repulsed_Emote".to_owned(), param_id: 308, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 309, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Disdain".to_owned(), param_id: 309, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 310, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Afraid_Emote".to_owned(), param_id: 310, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 311, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Worry_Emote".to_owned(), param_id: 311, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 312, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Cry_Emote".to_owned(), param_id: 312, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 313, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Sad_Emote".to_owned(), param_id: 313, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 314, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Anger_Emote".to_owned(), param_id: 314, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 315, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Frown".to_owned(), param_id: 315, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 316, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Laugh_Emote".to_owned(), param_id: 316, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 317, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Toothsmile".to_owned(), param_id: 317, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 318, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Smile".to_owned(), param_id: 318, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 400, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Hair Thickess".to_owned(), label_max: "Bushy Hair".to_owned(), label_min: "Cropped Hair".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Displace_Hair_Facial".to_owned(), param_id: 400, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 500, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Heel Height".to_owned(), label_max: "High Heels".to_owned(), label_min: "Low Heels".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe_Heel_Height".to_owned(), param_id: 500, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 501, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Platform Height".to_owned(), label_max: "High Platforms".to_owned(), label_min: "Low Platforms".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe_Platform_Height".to_owned(), param_id: 501, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 502, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "High Heels".to_owned(), label_min: "No Heels".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe_Platform".to_owned(), param_id: 502, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFootRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.07_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFootLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.07_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb4Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.07_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb4Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.07_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 503, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 501 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 502 } ], ), drivers: Some(vec![501, 502]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High Platforms".to_owned(), label_min: "Low Platforms".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Platform Height".to_owned(), param_id: 503, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 505, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 26 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 28 }, DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 30505 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 31505 } ], ), drivers: Some(vec![26, 28, 30505, 31505]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Fat Lips".to_owned(), label_min: "Thin Lips".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Lip Thickness".to_owned(), param_id: 505, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 506, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20506 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30506 } ], ), drivers: Some(vec![20506, 30506]), group: 0, is_bump_attribute: false, label: "Mouth Position".to_owned(), label_max: "Low".to_owned(), label_min: "High".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Mouth_Height".to_owned(), param_id: 506, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 507, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Buoyancy".to_owned(), label_max: "More Gravity".to_owned(), label_min: "Less Gravity".to_owned(), max_value: 2.0_f32, min_value: -1.5_f32, name: "Breast_Gravity".to_owned(), param_id: 507, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 508, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Platform Width".to_owned(), label_max: "Wide".to_owned(), label_min: "Narrow".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Shoe_Platform_Width".to_owned(), param_id: 508, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 509, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Heel Shape".to_owned(), label_max: "Pointy Heels".to_owned(), label_min: "Default Heels".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe_Heel_Point".to_owned(), param_id: 509, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 510, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Heel Shape".to_owned(), label_max: "Thick Heels".to_owned(), label_min: "default Heels".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe_Heel_Thick".to_owned(), param_id: 510, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 511, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Toe Shape".to_owned(), label_max: "Pointy Toe".to_owned(), label_min: "Default Toe".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe_Toe_Point".to_owned(), param_id: 511, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 512, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Toe Shape".to_owned(), label_max: "Square Toe".to_owned(), label_min: "Default Toe".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe_Toe_Square".to_owned(), param_id: 512, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 513, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 509 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 510 } ], ), drivers: Some(vec![509, 510]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Thick Heels".to_owned(), label_min: "Pointy Heels".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Heel Shape".to_owned(), param_id: 513, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 514, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 511 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 512 } ], ), drivers: Some(vec![511, 512]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Square".to_owned(), label_min: "Pointy".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Toe Shape".to_owned(), param_id: 514, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 515, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Foot Size".to_owned(), label_max: "Big".to_owned(), label_min: "Small".to_owned(), max_value: 3.0_f32, min_value: -1.0_f32, name: "Foot_Size".to_owned(), param_id: 515, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "L_FOOT".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "R_FOOT".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.01_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 516, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Pants Fit".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Displace_Loose_Lowerbody".to_owned(), param_id: 516, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 517, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20517 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30517 } ], ), drivers: Some(vec![20517, 30517]), group: 0, is_bump_attribute: false, label: "Nose Width".to_owned(), label_max: "Wide".to_owned(), label_min: "Narrow".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Wide_Nose".to_owned(), param_id: 517, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 518, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Eyelash Length".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.5_f32, min_value: -0.3_f32, name: "Eyelashes_Long".to_owned(), param_id: 518, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 600, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shirt_sleeve_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.7_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 0.85_f32, min_value: 0.0_f32, name: "Sleeve Length Cloth".to_owned(), param_id: 600, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 601, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_bottom_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shirt Bottom Cloth".to_owned(), param_id: 601, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 602, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Front Height Cloth".to_owned(), param_id: 602, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 603, VisualParam { alpha_params: None, color_params: None, default_value: 0.4_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1042 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1043 } ], ), drivers: Some(vec![1042, 1043]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Sleeve Length".to_owned(), param_id: 603, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 604, VisualParam { alpha_params: None, color_params: None, default_value: 0.85_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1044 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1045 } ], ), drivers: Some(vec![1044, 1045]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bottom".to_owned(), param_id: 604, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 605, VisualParam { alpha_params: None, color_params: None, default_value: 0.84_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1046 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1047 } ], ), drivers: Some(vec![1046, 1047]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Front".to_owned(), param_id: 605, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 606, VisualParam { alpha_params: None, color_params: None, default_value: 0.8_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1019 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1039 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1020 } ], ), drivers: Some(vec![1019, 1039, 1020]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Sleeve Length".to_owned(), param_id: 606, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 607, VisualParam { alpha_params: None, color_params: None, default_value: 0.8_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1021 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1040 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1022 } ], ), drivers: Some(vec![1021, 1040, 1022]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Front".to_owned(), param_id: 607, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 608, VisualParam { alpha_params: None, color_params: None, default_value: 0.8_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 620 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1025 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1037 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 621 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1027 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1033 } ], ), drivers: Some(vec![620, 1025, 1037, 621, 1027, 1033]), group: 0, is_bump_attribute: false, label: "Jacket Length".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "bottom length lower".to_owned(), param_id: 608, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 609, VisualParam { alpha_params: None, color_params: None, default_value: 0.2_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 622 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1026 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1038 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 623 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1028 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1034 } ], ), drivers: Some(vec![622, 1026, 1038, 623, 1028, 1034]), group: 0, is_bump_attribute: false, label: "Open Front".to_owned(), label_max: "Closed".to_owned(), label_min: "Open".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "open jacket".to_owned(), param_id: 609, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 614, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_waist_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Waist Height Cloth".to_owned(), param_id: 614, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 615, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_length_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Length Cloth".to_owned(), param_id: 615, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 616, VisualParam { alpha_params: None, color_params: None, default_value: 0.1_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1052 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1053 } ], ), drivers: Some(vec![1052, 1053]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Tall".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe Height".to_owned(), param_id: 616, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 617, VisualParam { alpha_params: None, color_params: None, default_value: 0.35_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1050 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1051 } ], ), drivers: Some(vec![1050, 1051]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Socks Length".to_owned(), param_id: 617, skeletal_distortions: None, volume_morphs: None, wearable: Some("socks".to_owned()), }, ); params .insert( 619, VisualParam { alpha_params: None, color_params: None, default_value: 0.3_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1054 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1055 } ], ), drivers: Some(vec![1054, 1055]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Length".to_owned(), param_id: 619, skeletal_distortions: None, volume_morphs: None, wearable: Some("underpants".to_owned()), }, ); params .insert( 620, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "jacket_length_upper_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "low cut".to_owned(), label_min: "hi cut".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "bottom length upper".to_owned(), param_id: 620, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 621, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "jacket_length_lower_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "low cut".to_owned(), label_min: "hi cut".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "bottom length lower".to_owned(), param_id: 621, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 622, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "jacket_open_upper_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "open".to_owned(), label_min: "closed".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "open upper".to_owned(), param_id: 622, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 623, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "jacket_open_lower_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "closed".to_owned(), label_min: "open".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "open lower".to_owned(), param_id: 623, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 624, VisualParam { alpha_params: None, color_params: None, default_value: 0.8_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1056 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1057 } ], ), drivers: Some(vec![1056, 1057]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Waist".to_owned(), param_id: 624, skeletal_distortions: None, volume_morphs: None, wearable: Some("underpants".to_owned()), }, ); params .insert( 625, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Cuff Flare".to_owned(), label_max: "Flared Cuffs".to_owned(), label_min: "Tight Cuffs".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "Leg_Pantflair".to_owned(), param_id: 625, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 626, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Chest Size".to_owned(), label_max: "Large".to_owned(), label_min: "Small".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Big_Chest".to_owned(), param_id: 626, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.038_f32, y : 0.024_f32, z : - 0.016_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0273_f32, y : 0.0273_f32, z : 0.0273_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.038_f32, y : - 0.024_f32, z : - 0.016_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0273_f32, y : 0.0273_f32, z : 0.0273_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 627, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Chest Size".to_owned(), label_max: "Small".to_owned(), label_min: "Large".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Small_Chest".to_owned(), param_id: 627, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : - 0.02_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.05_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.01_f32, z : - 0.02_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.05_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 628, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Shirt Fit".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Displace_Loose_Upperbody".to_owned(), param_id: 628, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 629, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 630 }, DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 644 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 631 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 645 }, DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 31629 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 32629 } ], ), drivers: Some(vec![630, 644, 631, 645, 31629, 32629]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Sloped".to_owned(), label_min: "More Vertical".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Forehead Angle".to_owned(), param_id: 629, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 630, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Round Forehead".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Forehead_Round".to_owned(), param_id: 630, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 631, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Slanted Forehead".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Forehead_Slant".to_owned(), param_id: 631, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 632, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Express_Open_Mouth".to_owned(), param_id: 632, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 633, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Fat Head".to_owned(), label_max: "Fat".to_owned(), label_min: "Skinny".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Fat_Head".to_owned(), param_id: 633, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 634, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Fat Torso".to_owned(), label_max: "fat".to_owned(), label_min: "skinny".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Fat_Torso".to_owned(), param_id: 634, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "CHEST".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.03_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.03_f32, z : 0.03_f32 } }, VolumeMorphInfo { bone_name : "PELVIS".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.03_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.03_f32, z : 0.03_f32 } }, VolumeMorphInfo { bone_name : "UPPER_BACK".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.03_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.03_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "LOWER_BACK".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.06_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.04_f32, y : 0.06_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "LEFT_HANDLE".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.08_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_HANDLE".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.08_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.005_f32, z : - 0.013_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0367_f32, y : 0.0367_f32, z : 0.016_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.005_f32, z : - 0.013_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0367_f32, y : 0.0367_f32, z : 0.016_f32 } }, VolumeMorphInfo { bone_name : "BELLY".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.05_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.09_f32, y : 0.08_f32, z : 0.07_f32 } }, VolumeMorphInfo { bone_name : "L_CLAVICLE" .to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.015_f32 } }, VolumeMorphInfo { bone_name : "L_UPPER_ARM" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.02_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.02_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_ARM" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.01_f32 } }, VolumeMorphInfo { bone_name : "R_CLAVICLE" .to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.015_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_ARM" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.02_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.02_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_ARM" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.01_f32 } }, VolumeMorphInfo { bone_name : "NECK" .to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "HEAD" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.01_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 635, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Fat Torso".to_owned(), label_max: "fat".to_owned(), label_min: "skinny".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Fat_Legs".to_owned(), param_id: 635, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "PELVIS".to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.03_f32, y : 0.06_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.02_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.02_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_LEG".to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "L_UPPER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.02_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.02_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_LEG".to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.01_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 637, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 633 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 634 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 635 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 851 } ], ), drivers: Some(vec![633, 634, 635, 851]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Body Fat".to_owned(), label_min: "Less Body Fat".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Body Fat".to_owned(), param_id: 637, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 638, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Pants Crotch".to_owned(), label_max: "Low and Loose".to_owned(), label_min: "High and Tight".to_owned(), max_value: 1.3_f32, min_value: 0.0_f32, name: "Low_Crotch".to_owned(), param_id: 638, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 640, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.3_f32, name: "Hair_Egg_Head".to_owned(), param_id: 640, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 641, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Hair_Squash_Stretch_Head".to_owned(), param_id: 641, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 642, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Square_Head".to_owned(), param_id: 642, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 643, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Round_Head".to_owned(), param_id: 643, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 644, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Forehead_Round".to_owned(), param_id: 644, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 645, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Forehead_Slant".to_owned(), param_id: 645, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 646, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 640 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 186 }, DrivenParamInfo { has_range : true, max1 : - 1.3_f32, max2 : - 1.3_f32, min1 : - 1.3_f32, min2 : 1.0_f32, param_id : 30646 } ], ), drivers: Some(vec![640, 186, 30646]), group: 0, is_bump_attribute: false, label: "Egg Head".to_owned(), label_max: "Forehead Heavy".to_owned(), label_min: "Chin Heavy".to_owned(), max_value: 1.0_f32, min_value: -1.3_f32, name: "Egg_Head".to_owned(), param_id: 646, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 647, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 641 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 187 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30647 } ], ), drivers: Some(vec![641, 187, 30647]), group: 0, is_bump_attribute: false, label: "Head Stretch".to_owned(), label_max: "Stretch Head".to_owned(), label_min: "Squash Head".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Squash_Stretch_Head".to_owned(), param_id: 647, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 648, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Torso Muscles".to_owned(), label_max: "Scrawny".to_owned(), label_min: "Regular".to_owned(), max_value: 1.3_f32, min_value: 0.0_f32, name: "Scrawny_Torso".to_owned(), param_id: 648, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "BELLY".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "UPPER_BACK".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "CHEST".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "L_CLAVICLE".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.03_f32, z : - 0.005_f32 } }, VolumeMorphInfo { bone_name : "L_UPPER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : - 0.02_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : - 0.01_f32 } }, VolumeMorphInfo { bone_name : "R_CLAVICLE".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.03_f32, z : - 0.005_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : - 0.02_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : - 0.01_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 649, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 648 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 107 } ], ), drivers: Some(vec![648, 107]), group: 0, is_bump_attribute: false, label: "Torso Muscles".to_owned(), label_max: "More Muscular".to_owned(), label_min: "Less Muscular".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Torso Muscles".to_owned(), param_id: 649, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 650, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20650 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30650 } ], ), drivers: Some(vec![20650, 30650]), group: 0, is_bump_attribute: false, label: "Outer Eye Corner".to_owned(), label_max: "Corner Up".to_owned(), label_min: "Corner Down".to_owned(), max_value: 1.2_f32, min_value: -1.3_f32, name: "Eyelid_Corner_Up".to_owned(), param_id: 650, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 651, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Scrawny Leg".to_owned(), label_max: "Less Muscles".to_owned(), label_min: "Regular Muscles".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "Scrawny_Legs".to_owned(), param_id: 651, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "L_UPPER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.03_f32, y : - 0.03_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.015_f32, y : - 0.015_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.03_f32, y : - 0.03_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_LEG".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.015_f32, y : - 0.015_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 652, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 651 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 152 } ], ), drivers: Some(vec![651, 152]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Muscular".to_owned(), label_min: "Less Muscular".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Leg Muscles".to_owned(), param_id: 652, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 653, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20653 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30653 } ], ), drivers: Some(vec![20653, 30653]), group: 0, is_bump_attribute: false, label: "Lip Fullness".to_owned(), label_max: "More Full".to_owned(), label_min: "Less Full".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Tall_Lips".to_owned(), param_id: 653, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 654, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Toe Thickness".to_owned(), label_max: "Thick Toe".to_owned(), label_min: "Flat Toe".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Shoe_Toe_Thick".to_owned(), param_id: 654, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 655, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Head Size".to_owned(), label_max: "Big Head".to_owned(), label_min: "Small Head".to_owned(), max_value: 0.1_f32, min_value: -0.25_f32, name: "Head Size".to_owned(), param_id: 655, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceTeethLower".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethUpper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBridge".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mSkull" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.1_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHead" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceRoot" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mEyeLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mEyeRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTongueBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTongueTip".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceJaw" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceJawShaper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceChin" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 656, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20656 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30656 } ], ), drivers: Some(vec![20656, 30656]), group: 0, is_bump_attribute: false, label: "Crooked Nose".to_owned(), label_max: "Nose Right".to_owned(), label_min: "Nose Left".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Crooked_Nose".to_owned(), param_id: 656, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 657, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Mouth Corner".to_owned(), label_max: "Corner Up".to_owned(), label_min: "Corner Normal".to_owned(), max_value: 1.4_f32, min_value: 0.0_f32, name: "Smile_Mouth".to_owned(), param_id: 657, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 658, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Mouth Corner".to_owned(), label_max: "Corner Down".to_owned(), label_min: "Corner Normal".to_owned(), max_value: 1.2_f32, min_value: 0.0_f32, name: "Frown_Mouth".to_owned(), param_id: 658, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 659, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 658 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 657 }, DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 30658 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 30657 } ], ), drivers: Some(vec![658, 657, 30658, 30657]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Corner Up".to_owned(), label_min: "Corner Down".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Mouth Corner".to_owned(), param_id: 659, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 660, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Shear Face".to_owned(), label_max: "Shear Right".to_owned(), label_min: "Shear Left".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Shear_Head".to_owned(), param_id: 660, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 661, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "Eyes Shear Right Up".to_owned(), label_min: "Eyes Shear Left Up".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "EyeBone_Head_Shear".to_owned(), param_id: 661, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mEyeLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mEyeRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEar1Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEar1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 662, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 660 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 661 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 774 } ], ), drivers: Some(vec![660, 661, 774]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Shear Left Up".to_owned(), label_min: "Shear Right Up".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Face Shear".to_owned(), param_id: 662, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 663, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20663 }, DrivenParamInfo { has_range : true, max1 : - 2.0_f32, max2 : - 2.0_f32, min1 : - 2.0_f32, min2 : 0.0_f32, param_id : 31663 }, DrivenParamInfo { has_range : true, max1 : 2.0_f32, max2 : 2.0_f32, min1 : 0.0_f32, min2 : 2.0_f32, param_id : 32663 } ], ), drivers: Some(vec![20663, 31663, 32663]), group: 0, is_bump_attribute: false, label: "Shift Mouth".to_owned(), label_max: "Shift Right".to_owned(), label_min: "Shift Left".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Shift_Mouth".to_owned(), param_id: 663, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 664, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Eye Pop".to_owned(), label_max: "Pop Left Eye".to_owned(), label_min: "Pop Right Eye".to_owned(), max_value: 1.3_f32, min_value: -1.3_f32, name: "Pop_Eye".to_owned(), param_id: 664, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 665, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20665 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30665 } ], ), drivers: Some(vec![20665, 30665]), group: 0, is_bump_attribute: false, label: "Jaw Jut".to_owned(), label_max: "Underbite".to_owned(), label_min: "Overbite".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Jaw_Jut".to_owned(), param_id: 665, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 666, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Relaxed_L".to_owned(), param_id: 666, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 667, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Point_L".to_owned(), param_id: 667, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 668, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Fist_L".to_owned(), param_id: 668, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 669, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Relaxed_R".to_owned(), param_id: 669, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 670, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Point_R".to_owned(), param_id: 670, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 671, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Fist_R".to_owned(), param_id: 671, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 672, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Typing".to_owned(), param_id: 672, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 674, VisualParam { alpha_params: None, color_params: None, default_value: -0.3_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Shear Back".to_owned(), label_max: "Sheared Back".to_owned(), label_min: "Full Back".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Hair_Shear_Back".to_owned(), param_id: 674, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 675, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Large Hands".to_owned(), label_min: "Small Hands".to_owned(), max_value: 0.3_f32, min_value: -0.3_f32, name: "Hand Size".to_owned(), param_id: 675, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mWristRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mWristLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandThumb1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandThumb2Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandThumb3Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandIndex1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandIndex2Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandIndex3Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandMiddle1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandMiddle2Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandMiddle3Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandRing1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandRing2Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandRing3Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandPinky1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandPinky2Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandPinky3Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandThumb1Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandThumb2Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandThumb3Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandIndex1Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandIndex2Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandIndex3Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandMiddle1Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandMiddle2Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandMiddle3Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandRing1Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandRing2Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandRing3Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandPinky1Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandPinky2Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } }, SkeletalBoneInfo { bone_name : "mHandPinky3Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 1.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 676, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 855 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 856 } ], ), drivers: Some(vec![855, 856]), group: 0, is_bump_attribute: false, label: "Love Handles".to_owned(), label_max: "More Love".to_owned(), label_min: "Less Love".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Love_Handles".to_owned(), param_id: 676, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 677, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Torso Scrawny".to_owned(), label_max: "Scrawny".to_owned(), label_min: "Regular".to_owned(), max_value: 1.3_f32, min_value: 0.0_f32, name: "Scrawny_Torso_Male".to_owned(), param_id: 677, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "BELLY".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "UPPER_BACK".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "CHEST".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.02_f32, y : - 0.02_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "L_CLAVICLE".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.03_f32, z : - 0.005_f32 } }, VolumeMorphInfo { bone_name : "L_UPPER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : - 0.02_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : - 0.01_f32 } }, VolumeMorphInfo { bone_name : "R_CLAVICLE".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.03_f32, z : - 0.005_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : - 0.01_f32, z : - 0.02_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_ARM".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : - 0.01_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 678, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 677 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 106 } ], ), drivers: Some(vec![677, 106]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Muscular".to_owned(), label_min: "Less Muscular".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Torso Muscles".to_owned(), param_id: 678, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 679, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Eyeball Size".to_owned(), label_max: "big eye".to_owned(), label_min: "small eye".to_owned(), max_value: 0.1_f32, min_value: -0.25_f32, name: "Eyeball_Size".to_owned(), param_id: 679, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 680, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Eyeball Size".to_owned(), label_max: "big eye".to_owned(), label_min: "small eye".to_owned(), max_value: 0.1_f32, min_value: -0.25_f32, name: "Eyeball_Size".to_owned(), param_id: 680, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 681, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Eyeball Size".to_owned(), label_max: "big eye".to_owned(), label_min: "small eye".to_owned(), max_value: 0.1_f32, min_value: -0.25_f32, name: "Eyeball_Size".to_owned(), param_id: 681, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 682, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 679 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 694 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 680 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 681 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 655 } ], ), drivers: Some(vec![679, 694, 680, 681, 655]), group: 0, is_bump_attribute: false, label: "Head Size".to_owned(), label_max: "Big Head".to_owned(), label_min: "Small Head".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Head Size".to_owned(), param_id: 682, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 683, VisualParam { alpha_params: None, color_params: None, default_value: -0.15_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Thick Neck".to_owned(), label_min: "Skinny Neck".to_owned(), max_value: 0.2_f32, min_value: -0.4_f32, name: "Neck Thickness".to_owned(), param_id: 683, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mNeck".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 1.0_f32, y : 1.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 684, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Cleavage".to_owned(), label_max: "Join".to_owned(), label_min: "Separate".to_owned(), max_value: 1.3_f32, min_value: -0.3_f32, name: "Breast_Female_Cleavage".to_owned(), param_id: 684, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.026_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.026_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 685, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Pectorals".to_owned(), label_max: "Sunken Chest".to_owned(), label_min: "Big Pectorals".to_owned(), max_value: 1.1_f32, min_value: -0.5_f32, name: "Chest_Male_No_Pecs".to_owned(), param_id: 685, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.03_f32, y : - 0.024_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.03_f32, y : 0.024_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 686, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Eye Size".to_owned(), label_max: "Anime Eyes".to_owned(), label_min: "Beady Eyes".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Head_Eyes_Big".to_owned(), param_id: 686, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 687, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Big Eyeball".to_owned(), label_max: "big eye".to_owned(), label_min: "small eye".to_owned(), max_value: 0.25_f32, min_value: -0.25_f32, name: "Eyeball_Size".to_owned(), param_id: 687, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 688, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Big Eyeball".to_owned(), label_max: "big eye".to_owned(), label_min: "small eye".to_owned(), max_value: 0.25_f32, min_value: -0.25_f32, name: "Eyeball_Size".to_owned(), param_id: 688, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 689, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "Eyes Forward".to_owned(), label_min: "Eyes Back".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "EyeBone_Big_Eyes".to_owned(), param_id: 689, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mEyeLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mEyeRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.7_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.7_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.7_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.7_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.005_f32, y : - 0.008_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.008_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 690, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 686 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 687 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 695 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 688 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 691 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 689 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30689 } ], ), drivers: Some(vec![686, 687, 695, 688, 691, 689, 30689]), group: 0, is_bump_attribute: false, label: "Eye Size".to_owned(), label_max: "Anime Eyes".to_owned(), label_min: "Beady Eyes".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eye Size".to_owned(), param_id: 690, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 691, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Big Eyeball".to_owned(), label_max: "big eye".to_owned(), label_min: "small eye".to_owned(), max_value: 0.25_f32, min_value: -0.25_f32, name: "Eyeball_Size".to_owned(), param_id: 691, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 692, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long Legs".to_owned(), label_min: "Short Legs".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Leg Length".to_owned(), param_id: 692, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mHipLeft".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mHipRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mKneeRight" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mKneeLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb1Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Right".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimb2Left".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 693, VisualParam { alpha_params: None, color_params: None, default_value: 0.6_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long arms".to_owned(), label_min: "Short Arms".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Arm Length".to_owned(), param_id: 693, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mShoulderLeft".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.2_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mShoulderRight".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.2_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mElbowRight".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mElbowLeft" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 694, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Eyeball Size".to_owned(), label_max: "big eye".to_owned(), label_min: "small eye".to_owned(), max_value: 0.1_f32, min_value: -0.25_f32, name: "Eyeball_Size".to_owned(), param_id: 694, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 695, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Big Eyeball".to_owned(), label_max: "big eye".to_owned(), label_min: "small eye".to_owned(), max_value: 0.25_f32, min_value: -0.25_f32, name: "Eyeball_Size".to_owned(), param_id: 695, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 700, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(245_u8) / 255.0, g : f32::from(161_u8) / 255.0, b : f32::from(177_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(216_u8) / 255.0, g : f32::from(37_u8) / 255.0, b : f32::from(67_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(178_u8) / 255.0, g : f32::from(48_u8) / 255.0, b : f32::from(76_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(68_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(11_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(252_u8) / 255.0, g : f32::from(207_u8) / 255.0, b : f32::from(184_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(241_u8) / 255.0, g : f32::from(136_u8) / 255.0, b : f32::from(106_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(208_u8) / 255.0, g : f32::from(110_u8) / 255.0, b : f32::from(85_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(106_u8) / 255.0, g : f32::from(28_u8) / 255.0, b : f32::from(18_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(58_u8) / 255.0, g : f32::from(26_u8) / 255.0, b : f32::from(49_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(14_u8) / 255.0, g : f32::from(14_u8) / 255.0, b : f32::from(14_u8) / 255.0, a : f32::from(200_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.25_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Black".to_owned(), label_min: "Pink".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Lipstick Color".to_owned(), param_id: 700, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 701, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: true, tga_file: "lipstick_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Lipstick".to_owned(), label_min: "No Lipstick".to_owned(), max_value: 0.9_f32, min_value: 0.0_f32, name: "Lipstick".to_owned(), param_id: 701, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 702, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.2_f32, multiply_blend: false, skip_if_zero: true, tga_file: "lipgloss_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Glossy".to_owned(), label_min: "No Lipgloss".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Lipgloss".to_owned(), param_id: 702, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 703, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.1_f32, multiply_blend: false, skip_if_zero: true, tga_file: "eyeliner_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Full Eyeliner".to_owned(), label_min: "No Eyeliner".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eyeliner".to_owned(), param_id: 703, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 704, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.3_f32, multiply_blend: false, skip_if_zero: true, tga_file: "blush_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Blush".to_owned(), label_min: "No Blush".to_owned(), max_value: 0.9_f32, min_value: 0.0_f32, name: "Blush".to_owned(), param_id: 704, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 705, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(253_u8) / 255.0, g : f32::from(162_u8) / 255.0, b : f32::from(193_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(247_u8) / 255.0, g : f32::from(131_u8) / 255.0, b : f32::from(152_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(213_u8) / 255.0, g : f32::from(122_u8) / 255.0, b : f32::from(140_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(253_u8) / 255.0, g : f32::from(152_u8) / 255.0, b : f32::from(144_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(236_u8) / 255.0, g : f32::from(138_u8) / 255.0, b : f32::from(103_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(195_u8) / 255.0, g : f32::from(128_u8) / 255.0, b : f32::from(122_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(148_u8) / 255.0, g : f32::from(103_u8) / 255.0, b : f32::from(100_u8) / 255.0, a : f32::from(200_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(168_u8) / 255.0, g : f32::from(95_u8) / 255.0, b : f32::from(62_u8) / 255.0, a : f32::from(200_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.5_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Orange".to_owned(), label_min: "Pink".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Blush Color".to_owned(), param_id: 705, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 706, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Blend, }), ), default_value: 0.6_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Opaque".to_owned(), label_min: "Clear".to_owned(), max_value: 1.0_f32, min_value: 0.2_f32, name: "Out Shdw Opacity".to_owned(), param_id: 706, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 707, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: true, tga_file: "eyeshadow_outer_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Eyeshadow".to_owned(), label_min: "No Eyeshadow".to_owned(), max_value: 0.7_f32, min_value: 0.0_f32, name: "Outer Shadow".to_owned(), param_id: 707, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 708, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(252_u8) / 255.0, g : f32::from(247_u8) / 255.0, b : f32::from(246_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(206_u8) / 255.0, b : f32::from(206_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(233_u8) / 255.0, g : f32::from(135_u8) / 255.0, b : f32::from(149_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(220_u8) / 255.0, g : f32::from(168_u8) / 255.0, b : f32::from(192_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(228_u8) / 255.0, g : f32::from(203_u8) / 255.0, b : f32::from(232_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(234_u8) / 255.0, b : f32::from(195_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(230_u8) / 255.0, g : f32::from(157_u8) / 255.0, b : f32::from(101_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(147_u8) / 255.0, b : f32::from(86_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(228_u8) / 255.0, g : f32::from(110_u8) / 255.0, b : f32::from(89_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(228_u8) / 255.0, g : f32::from(150_u8) / 255.0, b : f32::from(120_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(223_u8) / 255.0, g : f32::from(227_u8) / 255.0, b : f32::from(213_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(96_u8) / 255.0, g : f32::from(116_u8) / 255.0, b : f32::from(87_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(88_u8) / 255.0, g : f32::from(143_u8) / 255.0, b : f32::from(107_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(194_u8) / 255.0, g : f32::from(231_u8) / 255.0, b : f32::from(223_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(207_u8) / 255.0, g : f32::from(227_u8) / 255.0, b : f32::from(234_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(41_u8) / 255.0, g : f32::from(171_u8) / 255.0, b : f32::from(212_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(180_u8) / 255.0, g : f32::from(137_u8) / 255.0, b : f32::from(130_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(173_u8) / 255.0, g : f32::from(125_u8) / 255.0, b : f32::from(105_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(144_u8) / 255.0, g : f32::from(95_u8) / 255.0, b : f32::from(98_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(115_u8) / 255.0, g : f32::from(70_u8) / 255.0, b : f32::from(77_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(155_u8) / 255.0, g : f32::from(78_u8) / 255.0, b : f32::from(47_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(239_u8) / 255.0, g : f32::from(239_u8) / 255.0, b : f32::from(239_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(194_u8) / 255.0, g : f32::from(194_u8) / 255.0, b : f32::from(194_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(120_u8) / 255.0, g : f32::from(120_u8) / 255.0, b : f32::from(120_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(10_u8) / 255.0, g : f32::from(10_u8) / 255.0, b : f32::from(10_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Dark".to_owned(), label_min: "Light".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Out Shdw Color".to_owned(), param_id: 708, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 709, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.2_f32, multiply_blend: false, skip_if_zero: true, tga_file: "eyeshadow_inner_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Eyeshadow".to_owned(), label_min: "No Eyeshadow".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Inner Shadow".to_owned(), param_id: 709, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 710, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.1_f32, multiply_blend: false, skip_if_zero: true, tga_file: "nailpolish_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Painted Nails".to_owned(), label_min: "No Polish".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Nail Polish".to_owned(), param_id: 710, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 711, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Blend, }), ), default_value: 0.5_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Opaque".to_owned(), label_min: "Clear".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Blush Opacity".to_owned(), param_id: 711, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 712, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(252_u8) / 255.0, g : f32::from(247_u8) / 255.0, b : f32::from(246_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(206_u8) / 255.0, b : f32::from(206_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(233_u8) / 255.0, g : f32::from(135_u8) / 255.0, b : f32::from(149_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(220_u8) / 255.0, g : f32::from(168_u8) / 255.0, b : f32::from(192_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(228_u8) / 255.0, g : f32::from(203_u8) / 255.0, b : f32::from(232_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(234_u8) / 255.0, b : f32::from(195_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(230_u8) / 255.0, g : f32::from(157_u8) / 255.0, b : f32::from(101_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(147_u8) / 255.0, b : f32::from(86_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(228_u8) / 255.0, g : f32::from(110_u8) / 255.0, b : f32::from(89_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(228_u8) / 255.0, g : f32::from(150_u8) / 255.0, b : f32::from(120_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(223_u8) / 255.0, g : f32::from(227_u8) / 255.0, b : f32::from(213_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(96_u8) / 255.0, g : f32::from(116_u8) / 255.0, b : f32::from(87_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(88_u8) / 255.0, g : f32::from(143_u8) / 255.0, b : f32::from(107_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(194_u8) / 255.0, g : f32::from(231_u8) / 255.0, b : f32::from(223_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(207_u8) / 255.0, g : f32::from(227_u8) / 255.0, b : f32::from(234_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(41_u8) / 255.0, g : f32::from(171_u8) / 255.0, b : f32::from(212_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(180_u8) / 255.0, g : f32::from(137_u8) / 255.0, b : f32::from(130_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(173_u8) / 255.0, g : f32::from(125_u8) / 255.0, b : f32::from(105_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(144_u8) / 255.0, g : f32::from(95_u8) / 255.0, b : f32::from(98_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(115_u8) / 255.0, g : f32::from(70_u8) / 255.0, b : f32::from(77_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(155_u8) / 255.0, g : f32::from(78_u8) / 255.0, b : f32::from(47_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(239_u8) / 255.0, g : f32::from(239_u8) / 255.0, b : f32::from(239_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(194_u8) / 255.0, g : f32::from(194_u8) / 255.0, b : f32::from(194_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(120_u8) / 255.0, g : f32::from(120_u8) / 255.0, b : f32::from(120_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(10_u8) / 255.0, g : f32::from(10_u8) / 255.0, b : f32::from(10_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Dark".to_owned(), label_min: "Light".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "In Shdw Color".to_owned(), param_id: 712, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 713, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Blend, }), ), default_value: 0.7_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Opaque".to_owned(), label_min: "Clear".to_owned(), max_value: 1.0_f32, min_value: 0.2_f32, name: "In Shdw Opacity".to_owned(), param_id: 713, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 714, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(24_u8) / 255.0, g : f32::from(98_u8) / 255.0, b : f32::from(40_u8) / 255.0, a : f32::from(250_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(9_u8) / 255.0, g : f32::from(100_u8) / 255.0, b : f32::from(127_u8) / 255.0, a : f32::from(250_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(61_u8) / 255.0, g : f32::from(93_u8) / 255.0, b : f32::from(134_u8) / 255.0, a : f32::from(250_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(70_u8) / 255.0, g : f32::from(29_u8) / 255.0, b : f32::from(27_u8) / 255.0, a : f32::from(250_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(115_u8) / 255.0, g : f32::from(75_u8) / 255.0, b : f32::from(65_u8) / 255.0, a : f32::from(250_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(100_u8) / 255.0, g : f32::from(100_u8) / 255.0, b : f32::from(100_u8) / 255.0, a : f32::from(250_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(91_u8) / 255.0, g : f32::from(80_u8) / 255.0, b : f32::from(74_u8) / 255.0, a : f32::from(250_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(112_u8) / 255.0, g : f32::from(42_u8) / 255.0, b : f32::from(76_u8) / 255.0, a : f32::from(250_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(14_u8) / 255.0, g : f32::from(14_u8) / 255.0, b : f32::from(14_u8) / 255.0, a : f32::from(250_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Black".to_owned(), label_min: "Dark Green".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eyeliner Color".to_owned(), param_id: 714, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 715, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(187_u8) / 255.0, b : f32::from(200_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(194_u8) / 255.0, g : f32::from(102_u8) / 255.0, b : f32::from(127_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(227_u8) / 255.0, g : f32::from(34_u8) / 255.0, b : f32::from(99_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(168_u8) / 255.0, g : f32::from(41_u8) / 255.0, b : f32::from(60_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(97_u8) / 255.0, g : f32::from(28_u8) / 255.0, b : f32::from(59_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(234_u8) / 255.0, g : f32::from(115_u8) / 255.0, b : f32::from(93_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(142_u8) / 255.0, g : f32::from(58_u8) / 255.0, b : f32::from(47_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(114_u8) / 255.0, g : f32::from(30_u8) / 255.0, b : f32::from(46_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(14_u8) / 255.0, g : f32::from(14_u8) / 255.0, b : f32::from(14_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Black".to_owned(), label_min: "Pink".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Nail Polish Color".to_owned(), param_id: 715, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 750, VisualParam { alpha_params: None, color_params: None, default_value: 0.7_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1002 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1003 } ], ), drivers: Some(vec![1002, 1003]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Dense".to_owned(), label_min: "Sparse".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eyebrow Density".to_owned(), param_id: 750, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 751, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(30_u8) / 255.0 } ], operation: crate::VisualColorOperation::Blend, }), ), default_value: 0.7_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "Shadow hair".to_owned(), label_min: "Dense hair".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "5 O'Clock Shadow".to_owned(), param_id: 751, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 752, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.2_f32, param_id : 751 }, DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.2_f32, min1 : 0.0_f32, min2 : 0.6_f32, param_id : 1012 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.2_f32, min2 : 1.0_f32, param_id : 400 } ], ), drivers: Some(vec![751, 1012, 400]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Bushy Hair".to_owned(), label_min: "5 O'Clock Shadow".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair Thickness".to_owned(), param_id: 752, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 753, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 850 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 854 } ], ), drivers: Some(vec![850, 854]), group: 0, is_bump_attribute: false, label: "Saddle Bags".to_owned(), label_max: "More Saddle".to_owned(), label_min: "Less Saddle".to_owned(), max_value: 3.0_f32, min_value: -0.5_f32, name: "Saddlebags".to_owned(), param_id: 753, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 754, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Taper Back".to_owned(), label_max: "Narrow Back".to_owned(), label_min: "Wide Back".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Hair_Taper_Back".to_owned(), param_id: 754, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 755, VisualParam { alpha_params: None, color_params: None, default_value: 0.05_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Taper Front".to_owned(), label_max: "Narrow Front".to_owned(), label_min: "Wide Front".to_owned(), max_value: 1.5_f32, min_value: -1.5_f32, name: "Hair_Taper_Front".to_owned(), param_id: 755, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 756, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long Neck".to_owned(), label_min: "Short Neck".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Neck Length".to_owned(), param_id: 756, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mNeck".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.5_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 757, VisualParam { alpha_params: None, color_params: None, default_value: -1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 871 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30757 } ], ), drivers: Some(vec![871, 30757]), group: 0, is_bump_attribute: false, label: "Eyebrow Height".to_owned(), label_max: "Lower".to_owned(), label_min: "Higher".to_owned(), max_value: 2.0_f32, min_value: -4.0_f32, name: "Lower_Eyebrows".to_owned(), param_id: 757, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 758, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20758 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30758 } ], ), drivers: Some(vec![20758, 30758]), group: 0, is_bump_attribute: false, label: "Lower Bridge".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.5_f32, min_value: -1.5_f32, name: "Lower_Bridge_Nose".to_owned(), param_id: 758, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 759, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20759 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30759 } ], ), drivers: Some(vec![20759, 30759]), group: 0, is_bump_attribute: false, label: "Nostril Division".to_owned(), label_max: "Low".to_owned(), label_min: "High".to_owned(), max_value: 1.5_f32, min_value: -1.0_f32, name: "Low_Septum_Nose".to_owned(), param_id: 759, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 760, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20760 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30760 } ], ), drivers: Some(vec![20760, 30760]), group: 0, is_bump_attribute: false, label: "Jaw Angle".to_owned(), label_max: "High Jaw".to_owned(), label_min: "Low Jaw".to_owned(), max_value: 2.0_f32, min_value: -1.2_f32, name: "Jaw_Angle".to_owned(), param_id: 760, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 761, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Hair Volume".to_owned(), label_max: "More".to_owned(), label_min: "Less".to_owned(), max_value: 1.3_f32, min_value: 0.0_f32, name: "Hair_Volume_Small".to_owned(), param_id: 761, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 762, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Shear Front".to_owned(), label_max: "Sheared Front".to_owned(), label_min: "Full Front".to_owned(), max_value: 3.0_f32, min_value: 0.0_f32, name: "Hair_Shear_Front".to_owned(), param_id: 762, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 763, VisualParam { alpha_params: None, color_params: None, default_value: 0.55_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 761 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 180 } ], ), drivers: Some(vec![761, 180]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Volume".to_owned(), label_min: "Less Volume".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair Volume".to_owned(), param_id: 763, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 764, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20764 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30764 } ], ), drivers: Some(vec![20764, 30764]), group: 0, is_bump_attribute: false, label: "Lip Cleft Depth".to_owned(), label_max: "Deep".to_owned(), label_min: "Shallow".to_owned(), max_value: 1.2_f32, min_value: -0.5_f32, name: "Lip_Cleft_Deep".to_owned(), param_id: 764, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 765, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20765 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30765 } ], ), drivers: Some(vec![20765, 30765]), group: 0, is_bump_attribute: false, label: "Puffy Eyelids".to_owned(), label_max: "Puffy".to_owned(), label_min: "Flat".to_owned(), max_value: 2.5_f32, min_value: -0.3_f32, name: "Puffy_Lower_Lids".to_owned(), param_id: 765, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 766, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Salute_R".to_owned(), param_id: 766, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 767, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Eye Depth".to_owned(), label_max: "Bug Eyes".to_owned(), label_min: "Sunken Eyes".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Bug_Eyed_Head".to_owned(), param_id: 767, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 768, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "Eyes Bugged".to_owned(), label_min: "Eyes Sunken".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "EyeBone_Bug".to_owned(), param_id: 768, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mEyeLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mEyeRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.002_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.002_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.001_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.001_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0013_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0013_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 769, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 767 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 768 } ], ), drivers: Some(vec![767, 768]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Bugged Eyes".to_owned(), label_min: "Sunken Eyes".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eye Depth".to_owned(), param_id: 769, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 770, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Shear Face".to_owned(), label_max: "Long Head".to_owned(), label_min: "Flat Head".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Elongate_Head".to_owned(), param_id: 770, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "HEAD".to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 771, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Elongate_Head_Hair".to_owned(), param_id: 771, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 772, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "Eyes Long Head".to_owned(), label_min: "Eyes Short Head".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "EyeBone_Head_Elongate".to_owned(), param_id: 772, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mEyeLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.016_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mEyeRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.016_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 773, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 770 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 771 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 772 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30772 }, DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.45_f32, param_id : 31772 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 32772 } ], ), drivers: Some(vec![770, 771, 772, 30772, 31772, 32772]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long Head".to_owned(), label_min: "Flat Head".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Head Length".to_owned(), param_id: 773, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 774, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Shear_Head_Hair".to_owned(), param_id: 774, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 775, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 776 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 777 } ], ), drivers: Some(vec![776, 777]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "More Freckles".to_owned(), label_min: "Less Freckles".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Body Freckles".to_owned(), param_id: 775, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 776, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.6_f32, multiply_blend: false, skip_if_zero: true, tga_file: "upperbodyfreckles_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "freckles upper".to_owned(), param_id: 776, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 777, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.6_f32, multiply_blend: false, skip_if_zero: true, tga_file: "bodyfreckles_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "freckles lower".to_owned(), param_id: 777, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 778, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Back Height Cloth".to_owned(), param_id: 778, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 779, VisualParam { alpha_params: None, color_params: None, default_value: 0.84_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1048 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1049 } ], ), drivers: Some(vec![1048, 1049]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Back".to_owned(), param_id: 779, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 780, VisualParam { alpha_params: None, color_params: None, default_value: 0.8_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1023 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1041 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1024 } ], ), drivers: Some(vec![1023, 1041, 1024]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Back".to_owned(), param_id: 780, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 781, VisualParam { alpha_params: None, color_params: None, default_value: 0.78_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 778 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1016 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1032 }, DrivenParamInfo { has_range : true, max1 : 0.98_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 903 } ], ), drivers: Some(vec![778, 1016, 1032, 903]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Back".to_owned(), param_id: 781, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 782, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Pigtails_Short".to_owned(), param_id: 782, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 783, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Pigtails_Med".to_owned(), param_id: 783, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 784, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Pigtails_Long".to_owned(), param_id: 784, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 785, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.1_f32, max2 : 0.1_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 782 }, DrivenParamInfo { has_range : true, max1 : 0.5_f32, max2 : 0.5_f32, min1 : 0.1_f32, min2 : 0.75_f32, param_id : 783 }, DrivenParamInfo { has_range : true, max1 : 0.75_f32, max2 : 0.75_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 790 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.75_f32, min2 : 1.0_f32, param_id : 784 } ], ), drivers: Some(vec![782, 783, 790, 784]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long Pigtails".to_owned(), label_min: "Short Pigtails".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pigtails".to_owned(), param_id: 785, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 786, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Ponytail_Short".to_owned(), param_id: 786, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 787, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Ponytail_Med".to_owned(), param_id: 787, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 788, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Ponytail_Long".to_owned(), param_id: 788, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 789, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.1_f32, max2 : 0.1_f32, min1 : 0.0_f32, min2 : 0.66_f32, param_id : 786 }, DrivenParamInfo { has_range : true, max1 : 0.66_f32, max2 : 0.66_f32, min1 : 0.1_f32, min2 : 1.0_f32, param_id : 787 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.66_f32, min2 : 1.0_f32, param_id : 788 } ], ), drivers: Some(vec![786, 787, 788]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long Ponytail".to_owned(), label_min: "Short Ponytail".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Ponytail".to_owned(), param_id: 789, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 790, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hair_Pigtails_Medlong".to_owned(), param_id: 790, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 791, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Peace_R".to_owned(), param_id: 791, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 792, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Hands_Spread_R".to_owned(), param_id: 792, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 793, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Longcuffs".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: 0.0_f32, name: "Leg_Longcuffs".to_owned(), param_id: 793, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 794, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Butt Size".to_owned(), label_max: "Small".to_owned(), label_min: "Regular".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Small_Butt".to_owned(), param_id: 794, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "PELVIS".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "BUTT".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.03_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0886_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 795, VisualParam { alpha_params: None, color_params: None, default_value: 0.25_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.3_f32, param_id : 867 }, DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.3_f32, param_id : 794 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.3_f32, min2 : 1.0_f32, param_id : 151 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.3_f32, min2 : 1.0_f32, param_id : 852 } ], ), drivers: Some(vec![867, 794, 151, 852]), group: 0, is_bump_attribute: false, label: "Butt Size".to_owned(), label_max: "Big Butt".to_owned(), label_min: "Flat Butt".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Butt Size".to_owned(), param_id: 795, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 796, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20796 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30796 } ], ), drivers: Some(vec![20796, 30796]), group: 0, is_bump_attribute: false, label: "Ear Tips".to_owned(), label_max: "Pointy".to_owned(), label_min: "Flat".to_owned(), max_value: 3.0_f32, min_value: -0.4_f32, name: "Pointy_Ears".to_owned(), param_id: 796, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 797, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Fat Upper Lip".to_owned(), label_max: "Fat Upper".to_owned(), label_min: "Normal Upper".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "Fat_Upper_Lip".to_owned(), param_id: 797, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 798, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Fat Lower Lip".to_owned(), label_max: "Fat Lower".to_owned(), label_min: "Normal Lower".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "Fat_Lower_Lip".to_owned(), param_id: 798, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 799, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 797 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 798 }, DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.5_f32, param_id : 30797 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 30798 } ], ), drivers: Some(vec![797, 798, 30797, 30798]), group: 0, is_bump_attribute: false, label: "Lip Ratio".to_owned(), label_max: "More Lower Lip".to_owned(), label_min: "More Upper Lip".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Lip Ratio".to_owned(), param_id: 799, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 800, VisualParam { alpha_params: None, color_params: None, default_value: 0.89_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 600 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1013 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1029 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 900 } ], ), drivers: Some(vec![600, 1013, 1029, 900]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Sleeve Length".to_owned(), param_id: 800, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 801, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 601 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1014 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1030 }, DrivenParamInfo { has_range : true, max1 : 0.98_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 901 } ], ), drivers: Some(vec![601, 1014, 1030, 901]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shirt Bottom".to_owned(), param_id: 801, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 802, VisualParam { alpha_params: None, color_params: None, default_value: 0.78_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 602 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1015 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1031 }, DrivenParamInfo { has_range : true, max1 : 0.98_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 902 } ], ), drivers: Some(vec![602, 1015, 1031, 902]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Front".to_owned(), param_id: 802, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 803, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "shirt_red".to_owned(), param_id: 803, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 804, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "shirt_green".to_owned(), param_id: 804, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 805, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "shirt_blue".to_owned(), param_id: 805, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 806, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "pants_red".to_owned(), param_id: 806, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 807, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "pants_green".to_owned(), param_id: 807, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 808, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "pants_blue".to_owned(), param_id: 808, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 809, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "lower_jacket_red".to_owned(), param_id: 809, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 810, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "lower_jacket_green".to_owned(), param_id: 810, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 811, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "lower_jacket_blue".to_owned(), param_id: 811, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 812, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "shoes_red".to_owned(), param_id: 812, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 813, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "shoes_green".to_owned(), param_id: 813, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 814, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 614 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1017 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1035 }, DrivenParamInfo { has_range : true, max1 : 0.98_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 914 } ], ), drivers: Some(vec![614, 1017, 1035, 914]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Waist Height".to_owned(), param_id: 814, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 815, VisualParam { alpha_params: None, color_params: None, default_value: 0.8_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.9_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 615 }, DrivenParamInfo { has_range : true, max1 : 0.9_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1018 }, DrivenParamInfo { has_range : true, max1 : 0.9_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1036 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.9_f32, min2 : 1.0_f32, param_id : 793 }, DrivenParamInfo { has_range : true, max1 : 0.882_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 915 } ], ), drivers: Some(vec![615, 1018, 1036, 793, 915]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Length".to_owned(), param_id: 815, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 816, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 516 }, DrivenParamInfo { has_range : true, max1 : 0.5_f32, max2 : 1.0_f32, min1 : 0.1_f32, min2 : 1.0_f32, param_id : 913 } ], ), drivers: Some(vec![516, 913]), group: 0, is_bump_attribute: false, label: "Pants Fit".to_owned(), label_max: "Loose Pants".to_owned(), label_min: "Tight Pants".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Loose Lower Clothing".to_owned(), param_id: 816, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 817, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "shoes_blue".to_owned(), param_id: 817, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 818, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "socks_red".to_owned(), param_id: 818, skeletal_distortions: None, volume_morphs: None, wearable: Some("socks".to_owned()), }, ); params .insert( 819, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "socks_green".to_owned(), param_id: 819, skeletal_distortions: None, volume_morphs: None, wearable: Some("socks".to_owned()), }, ); params .insert( 820, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "socks_blue".to_owned(), param_id: 820, skeletal_distortions: None, volume_morphs: None, wearable: Some("socks".to_owned()), }, ); params .insert( 821, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "undershirt_red".to_owned(), param_id: 821, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 822, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "undershirt_green".to_owned(), param_id: 822, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 823, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "undershirt_blue".to_owned(), param_id: 823, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 824, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "underpants_red".to_owned(), param_id: 824, skeletal_distortions: None, volume_morphs: None, wearable: Some("underpants".to_owned()), }, ); params .insert( 825, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "underpants_green".to_owned(), param_id: 825, skeletal_distortions: None, volume_morphs: None, wearable: Some("underpants".to_owned()), }, ); params .insert( 826, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "underpants_blue".to_owned(), param_id: 826, skeletal_distortions: None, volume_morphs: None, wearable: Some("underpants".to_owned()), }, ); params .insert( 827, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "gloves_red".to_owned(), param_id: 827, skeletal_distortions: None, volume_morphs: None, wearable: Some("gloves".to_owned()), }, ); params .insert( 828, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 628 }, DrivenParamInfo { has_range : true, max1 : 0.5_f32, max2 : 1.0_f32, min1 : 0.1_f32, min2 : 1.0_f32, param_id : 899 } ], ), drivers: Some(vec![628, 899]), group: 0, is_bump_attribute: false, label: "Shirt Fit".to_owned(), label_max: "Loose Shirt".to_owned(), label_min: "Tight Shirt".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Loose Upper Clothing".to_owned(), param_id: 828, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 829, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "gloves_green".to_owned(), param_id: 829, skeletal_distortions: None, volume_morphs: None, wearable: Some("gloves".to_owned()), }, ); params .insert( 830, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "gloves_blue".to_owned(), param_id: 830, skeletal_distortions: None, volume_morphs: None, wearable: Some("gloves".to_owned()), }, ); params .insert( 831, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "upper_jacket_red".to_owned(), param_id: 831, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 832, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "upper_jacket_green".to_owned(), param_id: 832, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 833, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "upper_jacket_blue".to_owned(), param_id: 833, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 834, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 809 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 831 } ], ), drivers: Some(vec![809, 831]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket_red".to_owned(), param_id: 834, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 835, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 810 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 832 } ], ), drivers: Some(vec![810, 832]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket_green".to_owned(), param_id: 835, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 836, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 811 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 833 } ], ), drivers: Some(vec![811, 833]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket_blue".to_owned(), param_id: 836, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 840, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Sleeve Looseness".to_owned(), label_max: "Loose Sleeves".to_owned(), label_min: "Tight Sleeves".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "Shirtsleeve_flair".to_owned(), param_id: 840, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 841, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 853 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 847 } ], ), drivers: Some(vec![853, 847]), group: 0, is_bump_attribute: false, label: "Knee Angle".to_owned(), label_max: "Bow Legged".to_owned(), label_min: "Knock Kneed".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Bowed_Legs".to_owned(), param_id: 841, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 842, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long Hips".to_owned(), label_min: "Short hips".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Hip Length".to_owned(), param_id: 842, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mPelvis".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.3_f32 } }, SkeletalBoneInfo { bone_name : "mHindLimbsRoot".to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.3_f32 } }, SkeletalBoneInfo { bone_name : "mSpine1" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.3_f32 } }, SkeletalBoneInfo { bone_name : "mSpine2" .to_owned(), has_position_deformation : false, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.3_f32 } } ], ), volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 843, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Chest Size".to_owned(), label_max: "None".to_owned(), label_min: "Some".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "No_Chest".to_owned(), param_id: 843, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.02_f32, y : - 0.01_f32, z : - 0.03_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.051_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : - 0.02_f32, y : 0.01_f32, z : - 0.03_f32 }, scale_delta : libremetaverse_types::Vector3 { x : - 0.051_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 844, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1060 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1061 } ], ), drivers: Some(vec![1060, 1061]), group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Fingers".to_owned(), label_min: "Fingerless".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Glove Fingers".to_owned(), param_id: 844, skeletal_distortions: None, volume_morphs: None, wearable: Some("gloves".to_owned()), }, ); params .insert( 845, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "poofy skirt".to_owned(), label_max: "more poofy".to_owned(), label_min: "less poofy".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "skirt_poofy".to_owned(), param_id: 845, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 846, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "loose skirt".to_owned(), label_max: "loose".to_owned(), label_min: "form fitting".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_loose".to_owned(), param_id: 846, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 847, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "legs skirt".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "skirt_bowlegs".to_owned(), param_id: 847, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 848, VisualParam { alpha_params: None, color_params: None, default_value: 0.2_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "bustle skirt".to_owned(), label_max: "more bustle".to_owned(), label_min: "no bustle".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "skirt_bustle".to_owned(), param_id: 848, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 849, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "big belly skirt".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_belly".to_owned(), param_id: 849, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 850, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: -0.5_f32, name: "skirt_saddlebags".to_owned(), param_id: 850, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 851, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "more".to_owned(), label_min: "less".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_chubby".to_owned(), param_id: 851, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 852, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "bigbutt skirt".to_owned(), label_max: "more".to_owned(), label_min: "less".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_bigbutt".to_owned(), param_id: 852, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 853, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Knee Angle".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Bowed_Legs".to_owned(), param_id: 853, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "L_UPPER_LEG".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.03_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "L_LOWER_LEG".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.03_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "R_UPPER_LEG".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.03_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "R_LOWER_LEG".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.03_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 854, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: -0.5_f32, name: "Saddlebags".to_owned(), param_id: 854, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "PELVIS".to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.025_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 855, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Love_Handles".to_owned(), param_id: 855, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "BELLY".to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.02_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "LOWER_BACK".to_owned(), has_position : false, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.02_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "LEFT_HANDLE".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.025_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_HANDLE".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.025_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("shape".to_owned()), }, ); params .insert( 856, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "more".to_owned(), label_min: "less".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "skirt_lovehandles".to_owned(), param_id: 856, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 857, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_male".to_owned(), param_id: 857, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 858, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.0_f32, multiply_blend: true, skip_if_zero: false, tga_file: "skirt_length_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.4_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Long".to_owned(), label_min: "Short".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Skirt Length".to_owned(), param_id: 858, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 859, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.0_f32, multiply_blend: true, skip_if_zero: false, tga_file: "skirt_slit_front_alpha.tga".to_owned(), }), ), color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Closed Front".to_owned(), label_min: "Open Front".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Slit Front".to_owned(), param_id: 859, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 860, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.0_f32, multiply_blend: true, skip_if_zero: false, tga_file: "skirt_slit_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Closed Back".to_owned(), label_min: "Open Back".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Slit Back".to_owned(), param_id: 860, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 861, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.0_f32, multiply_blend: true, skip_if_zero: false, tga_file: "skirt_slit_left_alpha.tga".to_owned(), }), ), color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Closed Left".to_owned(), label_min: "Open Left".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Slit Left".to_owned(), param_id: 861, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 862, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.0_f32, multiply_blend: true, skip_if_zero: false, tga_file: "skirt_slit_right_alpha.tga".to_owned(), }), ), color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Closed Right".to_owned(), label_min: "Open Right".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Slit Right".to_owned(), param_id: 862, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 863, VisualParam { alpha_params: None, color_params: None, default_value: 0.333_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.2_f32, param_id : 866 }, DrivenParamInfo { has_range : true, max1 : 0.5_f32, max2 : 0.5_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 846 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.5_f32, min2 : 1.0_f32, param_id : 845 } ], ), drivers: Some(vec![866, 846, 845]), group: 0, is_bump_attribute: false, label: "Skirt Fit".to_owned(), label_max: "Poofy Skirt".to_owned(), label_min: "Tight Skirt".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_looseness".to_owned(), param_id: 863, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 866, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "tight skirt".to_owned(), label_max: "loose".to_owned(), label_min: "form fitting".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_tight".to_owned(), param_id: 866, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 867, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "tight skirt".to_owned(), label_max: "loose".to_owned(), label_min: "form fitting".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_smallbutt".to_owned(), param_id: 867, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 868, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 3, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shirt Wrinkles".to_owned(), param_id: 868, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 869, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 3, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Wrinkles".to_owned(), param_id: 869, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 870, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Eyebrow Points".to_owned(), label_max: "Pointy".to_owned(), label_min: "Smooth".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Pointy_Eyebrows".to_owned(), param_id: 870, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 871, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Eyebrow Height".to_owned(), label_max: "Lower".to_owned(), label_min: "Higher".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Lower_Eyebrows".to_owned(), param_id: 871, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 872, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "Eyebrow Arc".to_owned(), label_max: "Arced".to_owned(), label_min: "Flat".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Arced_Eyebrows".to_owned(), param_id: 872, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 873, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.0_f32, multiply_blend: false, skip_if_zero: false, tga_file: "".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bump base".to_owned(), param_id: 873, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 874, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.0_f32, multiply_blend: false, skip_if_zero: false, tga_file: "".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bump upperdef".to_owned(), param_id: 874, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 875, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket upper Wrinkles".to_owned(), param_id: 875, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 876, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket upper Wrinkles".to_owned(), param_id: 876, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 877, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 875 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 876 } ], ), drivers: Some(vec![875, 876]), group: 3, is_bump_attribute: false, label: "Jacket Wrinkles".to_owned(), label_max: "Wrinkles".to_owned(), label_min: "No Wrinkles".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Jacket Wrinkles".to_owned(), param_id: 877, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 878, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.0_f32, multiply_blend: false, skip_if_zero: false, tga_file: "".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bump upperdef".to_owned(), param_id: 878, skeletal_distortions: None, volume_morphs: None, wearable: Some("skin".to_owned()), }, ); params .insert( 879, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20879 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30879 } ], ), drivers: Some(vec![20879, 30879]), group: 0, is_bump_attribute: false, label: "Package".to_owned(), label_max: "Duffle Bag".to_owned(), label_min: "Coin Purse".to_owned(), max_value: 2.0_f32, min_value: -0.5_f32, name: "Male_Package".to_owned(), param_id: 879, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 880, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 20880 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 30880 } ], ), drivers: Some(vec![20880, 30880]), group: 0, is_bump_attribute: false, label: "Inner Eye Corner".to_owned(), label_max: "Corner Up".to_owned(), label_min: "Corner Down".to_owned(), max_value: 1.2_f32, min_value: -1.3_f32, name: "Eyelid_Inner_Corner_Up".to_owned(), param_id: 880, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 899, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(80_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Upper Clothes Shading".to_owned(), param_id: 899, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 900, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.03_f32, multiply_blend: false, skip_if_zero: true, tga_file: "shirt_sleeve_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.02_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 0.87_f32, min_value: 0.02_f32, name: "Sleeve Length Shadow".to_owned(), param_id: 900, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 901, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: true, tga_file: "shirt_bottom_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.02_f32, name: "Shirt Shadow Bottom".to_owned(), param_id: 901, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 902, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.02_f32, multiply_blend: true, skip_if_zero: true, tga_file: "shirt_collar_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.02_f32, name: "Collar Front Shadow Height".to_owned(), param_id: 902, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 903, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.02_f32, multiply_blend: true, skip_if_zero: true, tga_file: "shirt_collar_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.02_f32, name: "Collar Back Shadow Height".to_owned(), param_id: 903, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 913, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(80_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Lower Clothes Shading".to_owned(), param_id: 913, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 914, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.04_f32, multiply_blend: false, skip_if_zero: true, tga_file: "pants_waist_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.02_f32, name: "Waist Height Shadow".to_owned(), param_id: 914, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 915, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.03_f32, multiply_blend: false, skip_if_zero: true, tga_file: "pants_length_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.02_f32, name: "Pants Length Shadow".to_owned(), param_id: 915, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 921, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_red".to_owned(), param_id: 921, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 922, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_green".to_owned(), param_id: 922, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 923, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "skirt_blue".to_owned(), param_id: 923, skeletal_distortions: None, volume_morphs: None, wearable: Some("skirt".to_owned()), }, ); params .insert( 924, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_eyes_red".to_owned(), param_id: 924, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 925, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_eyes_green".to_owned(), param_id: 925, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 926, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_eyes_blue".to_owned(), param_id: 926, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1000, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.1_f32, multiply_blend: false, skip_if_zero: false, tga_file: "eyebrows_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eyebrow Size Bump".to_owned(), param_id: 1000, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1001, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.1_f32, multiply_blend: false, skip_if_zero: false, tga_file: "eyebrows_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.5_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eyebrow Size".to_owned(), param_id: 1001, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1002, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eyebrow Density Bump".to_owned(), param_id: 1002, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1003, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(0_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Blend, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eyebrow Density".to_owned(), param_id: 1003, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1004, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: true, tga_file: "facehair_sideburns_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Sideburns bump".to_owned(), param_id: 1004, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1005, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: true, tga_file: "facehair_sideburns_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Sideburns".to_owned(), param_id: 1005, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1006, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: true, tga_file: "facehair_moustache_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Moustache bump".to_owned(), param_id: 1006, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1007, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: true, tga_file: "facehair_moustache_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Moustache".to_owned(), param_id: 1007, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1008, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.1_f32, multiply_blend: false, skip_if_zero: true, tga_file: "facehair_soulpatch_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Soulpatch bump".to_owned(), param_id: 1008, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1009, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.1_f32, multiply_blend: false, skip_if_zero: true, tga_file: "facehair_soulpatch_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Soulpatch".to_owned(), param_id: 1009, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1010, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.03_f32, multiply_blend: false, skip_if_zero: true, tga_file: "facehair_chincurtains_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Chin Curtains bump".to_owned(), param_id: 1010, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1011, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.03_f32, multiply_blend: false, skip_if_zero: true, tga_file: "facehair_chincurtains_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Chin Curtains".to_owned(), param_id: 1011, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1012, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(0_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "5 O'Clock Shadow bump".to_owned(), param_id: 1012, skeletal_distortions: None, volume_morphs: None, wearable: Some("hair".to_owned()), }, ); params .insert( 1013, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shirt_sleeve_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 0.85_f32, min_value: 0.0_f32, name: "Sleeve Length Cloth".to_owned(), param_id: 1013, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 1014, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_bottom_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shirt Bottom Cloth".to_owned(), param_id: 1014, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 1015, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Front Height Cloth".to_owned(), param_id: 1015, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 1016, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Back Height Cloth".to_owned(), param_id: 1016, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 1017, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_waist_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Waist Height Cloth".to_owned(), param_id: 1017, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 1018, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_length_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Length Cloth".to_owned(), param_id: 1018, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 1019, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shirt_sleeve_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Jacket Sleeve Length bump".to_owned(), param_id: 1019, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1020, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shirt_sleeve_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket Sleeve Length".to_owned(), param_id: 1020, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1021, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Jacket Collar Front bump".to_owned(), param_id: 1021, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1022, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket Collar Front".to_owned(), param_id: 1022, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1023, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Jacket Collar Back bump".to_owned(), param_id: 1023, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1024, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket Collar Back".to_owned(), param_id: 1024, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1025, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "jacket_length_upper_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket bottom length upper bump".to_owned(), param_id: 1025, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1026, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "jacket_open_upper_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket open upper bump".to_owned(), param_id: 1026, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1027, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "jacket_length_lower_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket bottom length lower bump".to_owned(), param_id: 1027, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1028, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "jacket_open_lower_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket open lower bump".to_owned(), param_id: 1028, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1029, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shirt_sleeve_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 0.85_f32, min_value: 0.0_f32, name: "Sleeve Length Cloth".to_owned(), param_id: 1029, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 1030, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_bottom_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shirt Bottom Cloth".to_owned(), param_id: 1030, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 1031, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Front Height Cloth".to_owned(), param_id: 1031, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 1032, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Back Height Cloth".to_owned(), param_id: 1032, skeletal_distortions: None, volume_morphs: None, wearable: Some("shirt".to_owned()), }, ); params .insert( 1033, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "jacket_length_lower_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket bottom length lower bump".to_owned(), param_id: 1033, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1034, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "jacket_open_lower_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket open lower bump".to_owned(), param_id: 1034, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1035, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_waist_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Waist Height Cloth".to_owned(), param_id: 1035, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 1036, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_length_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Length Cloth".to_owned(), param_id: 1036, skeletal_distortions: None, volume_morphs: None, wearable: Some("pants".to_owned()), }, ); params .insert( 1037, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "jacket_length_upper_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket bottom length upper bump".to_owned(), param_id: 1037, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1038, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "jacket_open_upper_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "jacket open upper bump".to_owned(), param_id: 1038, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1039, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shirt_sleeve_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Jacket Sleeve Length bump".to_owned(), param_id: 1039, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1040, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Jacket Collar Front bump".to_owned(), param_id: 1040, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1041, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Jacket Collar Back bump".to_owned(), param_id: 1041, skeletal_distortions: None, volume_morphs: None, wearable: Some("jacket".to_owned()), }, ); params .insert( 1042, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shirt_sleeve_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.4_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Sleeve Length".to_owned(), param_id: 1042, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 1043, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shirt_sleeve_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.4_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Sleeve Length bump".to_owned(), param_id: 1043, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 1044, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_bottom_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bottom".to_owned(), param_id: 1044, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 1045, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_bottom_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Bottom bump".to_owned(), param_id: 1045, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 1046, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Front".to_owned(), param_id: 1046, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 1047, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Front bump".to_owned(), param_id: 1047, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 1048, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "High".to_owned(), label_min: "Low".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Back".to_owned(), param_id: 1048, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 1049, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: true, skip_if_zero: false, tga_file: "shirt_collar_back_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Collar Back bump".to_owned(), param_id: 1049, skeletal_distortions: None, volume_morphs: None, wearable: Some("undershirt".to_owned()), }, ); params .insert( 1050, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shoe_height_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.35_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Socks Length bump".to_owned(), param_id: 1050, skeletal_distortions: None, volume_morphs: None, wearable: Some("socks".to_owned()), }, ); params .insert( 1051, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shoe_height_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.35_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Socks Length bump".to_owned(), param_id: 1051, skeletal_distortions: None, volume_morphs: None, wearable: Some("socks".to_owned()), }, ); params .insert( 1052, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shoe_height_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.1_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe Height".to_owned(), param_id: 1052, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 1053, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "shoe_height_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.1_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Shoe Height bump".to_owned(), param_id: 1053, skeletal_distortions: None, volume_morphs: None, wearable: Some("shoes".to_owned()), }, ); params .insert( 1054, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_length_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.3_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Length".to_owned(), param_id: 1054, skeletal_distortions: None, volume_morphs: None, wearable: Some("underpants".to_owned()), }, ); params .insert( 1055, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_length_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.3_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Length".to_owned(), param_id: 1055, skeletal_distortions: None, volume_morphs: None, wearable: Some("underpants".to_owned()), }, ); params .insert( 1056, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_waist_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Waist".to_owned(), param_id: 1056, skeletal_distortions: None, volume_morphs: None, wearable: Some("underpants".to_owned()), }, ); params .insert( 1057, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.05_f32, multiply_blend: false, skip_if_zero: false, tga_file: "pants_waist_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Pants Waist".to_owned(), param_id: 1057, skeletal_distortions: None, volume_morphs: None, wearable: Some("underpants".to_owned()), }, ); params .insert( 1058, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "glove_length_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Glove Length".to_owned(), param_id: 1058, skeletal_distortions: None, volume_morphs: None, wearable: Some("gloves".to_owned()), }, ); params .insert( 1059, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: false, skip_if_zero: false, tga_file: "glove_length_alpha.tga".to_owned(), }), ), color_params: None, default_value: 0.8_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Glove Length bump".to_owned(), param_id: 1059, skeletal_distortions: None, volume_morphs: None, wearable: Some("gloves".to_owned()), }, ); params .insert( 1060, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "gloves_fingers_alpha.tga".to_owned(), }), ), color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Glove Fingers".to_owned(), param_id: 1060, skeletal_distortions: None, volume_morphs: None, wearable: Some("gloves".to_owned()), }, ); params .insert( 1061, VisualParam { alpha_params: Some( Some(VisualAlphaParam { domain: 0.01_f32, multiply_blend: true, skip_if_zero: false, tga_file: "gloves_fingers_alpha.tga".to_owned(), }), ), color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: true, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.01_f32, name: "Glove Fingers bump".to_owned(), param_id: 1061, skeletal_distortions: None, volume_morphs: None, wearable: Some("gloves".to_owned()), }, ); params .insert( 1062, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_head_red".to_owned(), param_id: 1062, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1063, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_head_green".to_owned(), param_id: 1063, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1064, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_head_blue".to_owned(), param_id: 1064, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1065, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_upper_red".to_owned(), param_id: 1065, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1066, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_upper_green".to_owned(), param_id: 1066, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1067, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_upper_blue".to_owned(), param_id: 1067, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1068, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_lower_red".to_owned(), param_id: 1068, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1069, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_lower_green".to_owned(), param_id: 1069, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1070, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_lower_blue".to_owned(), param_id: 1070, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1071, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1062 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1065 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1068 } ], ), drivers: Some(vec![1062, 1065, 1068]), group: 2, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_red".to_owned(), param_id: 1071, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1072, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1063 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1066 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1069 } ], ), drivers: Some(vec![1063, 1066, 1069]), group: 2, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_green".to_owned(), param_id: 1072, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1073, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1064 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1067 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1070 } ], ), drivers: Some(vec![1064, 1067, 1070]), group: 2, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_blue".to_owned(), param_id: 1073, skeletal_distortions: None, volume_morphs: None, wearable: Some("tattoo".to_owned()), }, ); params .insert( 1100, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1200 } ], ), drivers: Some(vec![1200]), group: 1, is_bump_attribute: false, label: "Breast Physics UpDown Controller".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Breast_Physics_UpDown_Controller".to_owned(), param_id: 1100, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 1101, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1201 } ], ), drivers: Some(vec![1201]), group: 1, is_bump_attribute: false, label: "Breast Physics InOut Controller".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Breast_Physics_InOut_Controller".to_owned(), param_id: 1101, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 1102, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1202 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1203 }, DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1204 } ], ), drivers: Some(vec![1202, 1203, 1204]), group: 1, is_bump_attribute: false, label: "Belly Physics UpDown Controller".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Belly_Physics_UpDown_Controller".to_owned(), param_id: 1102, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 1103, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1205 } ], ), drivers: Some(vec![1205]), group: 1, is_bump_attribute: false, label: "Butt Physics UpDown Controller".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Butt_Physics_UpDown_Controller".to_owned(), param_id: 1103, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 1104, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1206 } ], ), drivers: Some(vec![1206]), group: 1, is_bump_attribute: false, label: "Butt Physics LeftRight Controller".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Butt_Physics_LeftRight_Controller".to_owned(), param_id: 1104, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 1105, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : false, max1 : 0.0_f32, max2 : 0.0_f32, min1 : 0.0_f32, min2 : 0.0_f32, param_id : 1207 } ], ), drivers: Some(vec![1207]), group: 1, is_bump_attribute: false, label: "Breast Physics LeftRight Controller".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Breast_Physics_LeftRight_Controller".to_owned(), param_id: 1105, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 1200, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: -3.0_f32, name: "Breast_Physics_UpDown_Driven".to_owned(), param_id: 1200, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("physics".to_owned()), }, ); params .insert( 1201, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.25_f32, min_value: -1.25_f32, name: "Breast_Physics_InOut_Driven".to_owned(), param_id: 1201, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.026_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC" .to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.026_f32, z : - 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("physics".to_owned()), }, ); params .insert( 1202, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Belly_Physics_Legs_UpDown_Driven".to_owned(), param_id: 1202, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 1203, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Belly_Physics_Skirt_UpDown_Driven".to_owned(), param_id: 1203, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 1204, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Belly_Physics_Torso_UpDown_Driven".to_owned(), param_id: 1204, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "BELLY".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.05_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("physics".to_owned()), }, ); params .insert( 1205, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Butt_Physics_UpDown_Driven".to_owned(), param_id: 1205, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "BUTT".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.05_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("physics".to_owned()), }, ); params .insert( 1206, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Butt_Physics_LeftRight_Driven".to_owned(), param_id: 1206, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "BUTT".to_owned(), has_position : true, has_scale : false, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.05_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("physics".to_owned()), }, ); params .insert( 1207, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Breast_Physics_LeftRight_Driven".to_owned(), param_id: 1207, skeletal_distortions: None, volume_morphs: Some( vec![ VolumeMorphInfo { bone_name : "LEFT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.03_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, VolumeMorphInfo { bone_name : "RIGHT_PEC".to_owned(), has_position : true, has_scale : true, position_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.03_f32, z : 0.0_f32 }, scale_delta : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), wearable: Some("physics".to_owned()), }, ); params .insert( 1208, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_skirt_red".to_owned(), param_id: 1208, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1209, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_skirt_green".to_owned(), param_id: 1209, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1210, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_skirt_blue".to_owned(), param_id: 1210, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1211, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_hair_red".to_owned(), param_id: 1211, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1212, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_hair_green".to_owned(), param_id: 1212, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1213, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_hair_blue".to_owned(), param_id: 1213, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1214, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_leftarm_red".to_owned(), param_id: 1214, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1215, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_leftarm_green".to_owned(), param_id: 1215, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1216, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_leftarm_blue".to_owned(), param_id: 1216, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1217, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_leftleg_red".to_owned(), param_id: 1217, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1218, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_leftleg_green".to_owned(), param_id: 1218, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1219, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_leftleg_blue".to_owned(), param_id: 1219, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1220, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_aux1_red".to_owned(), param_id: 1220, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1221, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_aux1_green".to_owned(), param_id: 1221, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1222, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_aux1_blue".to_owned(), param_id: 1222, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1223, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_aux2_red".to_owned(), param_id: 1223, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1224, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_aux2_green".to_owned(), param_id: 1224, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1225, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_aux2_blue".to_owned(), param_id: 1225, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1226, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_aux3_red".to_owned(), param_id: 1226, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1227, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_aux3_green".to_owned(), param_id: 1227, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1228, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_aux3_blue".to_owned(), param_id: 1228, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1229, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_head_universal_red".to_owned(), param_id: 1229, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1230, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_head_universal_green".to_owned(), param_id: 1230, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1231, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_head_universal_blue".to_owned(), param_id: 1231, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1232, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_upper_universal_red".to_owned(), param_id: 1232, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1233, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_upper_universal_green".to_owned(), param_id: 1233, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1234, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_upper_universal_blue".to_owned(), param_id: 1234, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1235, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(255_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_lower_universal_red".to_owned(), param_id: 1235, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1236, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(255_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_lower_universal_green".to_owned(), param_id: 1236, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1237, VisualParam { alpha_params: None, color_params: Some( Some(VisualColorParam { colors: vec![ libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(0_u8) / 255.0, a : f32::from(255_u8) / 255.0 }, libremetaverse_types::Color4 { r : f32::from(0_u8) / 255.0, g : f32::from(0_u8) / 255.0, b : f32::from(255_u8) / 255.0, a : f32::from(255_u8) / 255.0 } ], operation: crate::VisualColorOperation::Add, }), ), default_value: 1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_lower_universal_blue".to_owned(), param_id: 1237, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1238, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1229 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1232 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1235 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1208 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1211 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 924 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1214 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1217 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1220 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1223 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1226 } ], ), drivers: Some( vec![ 1229, 1232, 1235, 1208, 1211, 924, 1214, 1217, 1220, 1223, 1226 ], ), group: 2, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_universal_red".to_owned(), param_id: 1238, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1239, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1230 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1233 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1236 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1209 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1212 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 925 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1215 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1218 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1221 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1224 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1227 } ], ), drivers: Some( vec![ 1230, 1233, 1236, 1209, 1212, 925, 1215, 1218, 1221, 1224, 1227 ], ), group: 2, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_universal_green".to_owned(), param_id: 1239, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 1240, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: Some( vec![ DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1231 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1234 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1237 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1210 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1213 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 926 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1216 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1219 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1222 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1225 }, DrivenParamInfo { has_range : true, max1 : 1.0_f32, max2 : 1.0_f32, min1 : 0.0_f32, min2 : 1.0_f32, param_id : 1228 } ], ), drivers: Some( vec![ 1231, 1234, 1237, 1210, 1213, 926, 1216, 1219, 1222, 1225, 1228 ], ), group: 2, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "tattoo_universal_blue".to_owned(), param_id: 1240, skeletal_distortions: None, volume_morphs: None, wearable: Some("universal".to_owned()), }, ); params .insert( 10000, VisualParam { alpha_params: None, color_params: None, default_value: 0.1_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics Mass".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.1_f32, name: "Breast_Physics_Mass".to_owned(), param_id: 10000, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10001, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics Gravity".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 30.0_f32, min_value: 0.0_f32, name: "Breast_Physics_Gravity".to_owned(), param_id: 10001, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10002, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics Drag".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 10.0_f32, min_value: 0.0_f32, name: "Breast_Physics_Drag".to_owned(), param_id: 10002, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10003, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics UpDown Max Effect".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: 0.0_f32, name: "Breast_Physics_UpDown_Max_Effect".to_owned(), param_id: 10003, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10004, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics UpDown Spring".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 0.0_f32, name: "Breast_Physics_UpDown_Spring".to_owned(), param_id: 10004, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10005, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics UpDown Gain".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 1.0_f32, name: "Breast_Physics_UpDown_Gain".to_owned(), param_id: 10005, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10006, VisualParam { alpha_params: None, color_params: None, default_value: 0.2_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics UpDown Damping".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Breast_Physics_UpDown_Damping".to_owned(), param_id: 10006, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10007, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics InOut Max Effect".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: 0.0_f32, name: "Breast_Physics_InOut_Max_Effect".to_owned(), param_id: 10007, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10008, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics InOut Spring".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 0.0_f32, name: "Breast_Physics_InOut_Spring".to_owned(), param_id: 10008, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10009, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics InOut Gain".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 1.0_f32, name: "Breast_Physics_InOut_Gain".to_owned(), param_id: 10009, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10010, VisualParam { alpha_params: None, color_params: None, default_value: 0.2_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics InOut Damping".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Breast_Physics_InOut_Damping".to_owned(), param_id: 10010, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10011, VisualParam { alpha_params: None, color_params: None, default_value: 0.1_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Belly Physics Mass".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.1_f32, name: "Belly_Physics_Mass".to_owned(), param_id: 10011, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10012, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Belly Physics Gravity".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 30.0_f32, min_value: 0.0_f32, name: "Belly_Physics_Gravity".to_owned(), param_id: 10012, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10013, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Belly Physics Drag".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 10.0_f32, min_value: 0.0_f32, name: "Belly_Physics_Drag".to_owned(), param_id: 10013, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10014, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Belly Physics UpDown Max Effect".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: 0.0_f32, name: "Belly_Physics_UpDown_Max_Effect".to_owned(), param_id: 10014, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10015, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Belly Physics UpDown Spring".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 0.0_f32, name: "Belly_Physics_UpDown_Spring".to_owned(), param_id: 10015, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10016, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Belly Physics UpDown Gain".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 1.0_f32, name: "Belly_Physics_UpDown_Gain".to_owned(), param_id: 10016, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10017, VisualParam { alpha_params: None, color_params: None, default_value: 0.2_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Belly Physics UpDown Damping".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Belly_Physics_UpDown_Damping".to_owned(), param_id: 10017, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10018, VisualParam { alpha_params: None, color_params: None, default_value: 0.1_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics Mass".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.1_f32, name: "Butt_Physics_Mass".to_owned(), param_id: 10018, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10019, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics Gravity".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 30.0_f32, min_value: 0.0_f32, name: "Butt_Physics_Gravity".to_owned(), param_id: 10019, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10020, VisualParam { alpha_params: None, color_params: None, default_value: 1.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics Drag".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 10.0_f32, min_value: 0.0_f32, name: "Butt_Physics_Drag".to_owned(), param_id: 10020, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10021, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics UpDown Max Effect".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: 0.0_f32, name: "Butt_Physics_UpDown_Max_Effect".to_owned(), param_id: 10021, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10022, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics UpDown Spring".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 0.0_f32, name: "Butt_Physics_UpDown_Spring".to_owned(), param_id: 10022, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10023, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics UpDown Gain".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 1.0_f32, name: "Butt_Physics_UpDown_Gain".to_owned(), param_id: 10023, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10024, VisualParam { alpha_params: None, color_params: None, default_value: 0.2_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics UpDown Damping".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Butt_Physics_UpDown_Damping".to_owned(), param_id: 10024, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10025, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics LeftRight Max Effect".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: 0.0_f32, name: "Butt_Physics_LeftRight_Max_Effect".to_owned(), param_id: 10025, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10026, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics LeftRight Spring".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 0.0_f32, name: "Butt_Physics_LeftRight_Spring".to_owned(), param_id: 10026, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10027, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics LeftRight Gain".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 1.0_f32, name: "Butt_Physics_LeftRight_Gain".to_owned(), param_id: 10027, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10028, VisualParam { alpha_params: None, color_params: None, default_value: 0.2_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Butt Physics LeftRight Damping".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Butt_Physics_LeftRight_Damping".to_owned(), param_id: 10028, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10029, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics LeftRight Max Effect".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: 0.0_f32, name: "Breast_Physics_LeftRight_Max_Effect".to_owned(), param_id: 10029, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10030, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics LeftRight Spring".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 0.0_f32, name: "Breast_Physics_LeftRight_Spring".to_owned(), param_id: 10030, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10031, VisualParam { alpha_params: None, color_params: None, default_value: 10.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics LeftRight Gain".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 100.0_f32, min_value: 1.0_f32, name: "Breast_Physics_LeftRight_Gain".to_owned(), param_id: 10031, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 10032, VisualParam { alpha_params: None, color_params: None, default_value: 0.2_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "Breast Physics LeftRight Damping".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Breast_Physics_LeftRight_Damping".to_owned(), param_id: 10032, skeletal_distortions: None, volume_morphs: None, wearable: Some("physics".to_owned()), }, ); params .insert( 11000, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "AppearanceMessage Version".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 255.0_f32, min_value: 0.0_f32, name: "AppearanceMessage_Version".to_owned(), param_id: 11000, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 11001, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 0, is_bump_attribute: false, label: "".to_owned(), label_max: "Higher".to_owned(), label_min: "Lower".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Hover".to_owned(), param_id: 11001, skeletal_distortions: None, volume_morphs: None, wearable: Some("shape".to_owned()), }, ); params .insert( 20001, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -0.3_f32, name: "Big_Brow".to_owned(), param_id: 20001, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20002, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.5_f32, min_value: -0.8_f32, name: "Nose_Big_Out".to_owned(), param_id: 20002, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20004, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Broad_Nostrils".to_owned(), param_id: 20004, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20006, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.3_f32, name: "Bulbous_Nose_Tip".to_owned(), param_id: 20006, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20007, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 0.5_f32, min_value: -0.5_f32, name: "Weak_Chin".to_owned(), param_id: 20007, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20008, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Double_Chin".to_owned(), param_id: 20008, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20010, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: -1.5_f32, name: "Sunken_Cheeks".to_owned(), param_id: 20010, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20011, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Noble_Nose_Bridge".to_owned(), param_id: 20011, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20014, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "High_Cheek_Bones".to_owned(), param_id: 20014, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20015, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Ears_Out".to_owned(), param_id: 20015, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20017, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Square_Jaw".to_owned(), param_id: 20017, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20018, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.5_f32, min_value: -1.5_f32, name: "Puffy_Upper_Cheeks".to_owned(), param_id: 20018, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20019, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.5_f32, name: "Upturned_Nose_Tip".to_owned(), param_id: 20019, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20020, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Bulbous_Nose".to_owned(), param_id: 20020, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20021, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.3_f32, min_value: -0.2_f32, name: "Upper_Eyelid_Fold".to_owned(), param_id: 20021, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20023, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Baggy_Eyes".to_owned(), param_id: 20023, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20024, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -1.5_f32, name: "Wide_Eyes".to_owned(), param_id: 20024, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20025, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.8_f32, name: "Wide_Lip_Cleft".to_owned(), param_id: 20025, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20027, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.2_f32, min_value: -1.3_f32, name: "Wide_Nose_Bridge".to_owned(), param_id: 20027, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20035, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Big_Ears".to_owned(), param_id: 20035, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20185, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Deep_Chin".to_owned(), param_id: 20185, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20506, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Mouth_Height".to_owned(), param_id: 20506, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20517, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Wide_Nose".to_owned(), param_id: 20517, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20650, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.2_f32, min_value: -1.3_f32, name: "Eyelid_Corner_Up".to_owned(), param_id: 20650, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20653, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Tall_Lips".to_owned(), param_id: 20653, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20656, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Crooked_Nose".to_owned(), param_id: 20656, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20663, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Shift_Mouth".to_owned(), param_id: 20663, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20665, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Jaw_Jut".to_owned(), param_id: 20665, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20758, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -1.5_f32, name: "Lower_Bridge_Nose".to_owned(), param_id: 20758, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20759, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -1.0_f32, name: "Low_Septum_Nose".to_owned(), param_id: 20759, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20760, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -1.2_f32, name: "Jaw_Angle".to_owned(), param_id: 20760, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20764, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.2_f32, min_value: -0.5_f32, name: "Lip_Cleft_Deep".to_owned(), param_id: 20764, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20765, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.5_f32, min_value: -0.3_f32, name: "Puffy_Lower_Lids".to_owned(), param_id: 20765, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20796, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: -0.4_f32, name: "Pointy_Ears".to_owned(), param_id: 20796, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20879, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -0.5_f32, name: "Male_Package".to_owned(), param_id: 20879, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 20880, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.2_f32, min_value: -1.3_f32, name: "Eyelid_Inner_Corner_Up".to_owned(), param_id: 20880, skeletal_distortions: None, volume_morphs: None, wearable: None, }, ); params .insert( 30001, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -0.3_f32, name: "Big_Brow".to_owned(), param_id: 30001, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceForeheadCenter" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.007_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30002, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.5_f32, min_value: -0.8_f32, name: "Nose_Big_Out".to_owned(), param_id: 30002, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.5_f32, y : 0.3_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBridge".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.006_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30004, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Broad_Nostrils".to_owned(), param_id: 30004, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.005_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.005_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30006, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -1.0_f32, name: "Bulbous_Nose_Tip".to_owned(), param_id: 30006, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.1_f32, z : 0.1_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30007, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 0.5_f32, min_value: -0.5_f32, name: "Weak_Chin".to_owned(), param_id: 30007, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceChin".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.06_f32, y : 0.0_f32, z : 0.01_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30008, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Double_Chin".to_owned(), param_id: 30008, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceJawShaper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.125_f32, z : 0.5_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30010, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: -1.5_f32, name: "Sunken_Cheeks".to_owned(), param_id: 30010, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceCheekLowerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.12_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.12_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30011, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Noble_Nose_Bridge".to_owned(), param_id: 30011, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseBridge".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.009_f32, y : 0.0_f32, z : - 0.006_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.15_f32, y : 0.01_f32, z : 0.7_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.001_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30014, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "High_Cheek_Bones".to_owned(), param_id: 30014, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceCheekUpperLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.02_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.02_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30015, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Ears_Out".to_owned(), param_id: 30015, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEar1Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEar1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30016, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: -0.5_f32, name: "Pointy_Eyebrows".to_owned(), param_id: 30016, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.001_f32, z : 0.0035_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.001_f32, z : 0.0035_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30017, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Square_Jaw".to_owned(), param_id: 30017, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceChin".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.5_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30018, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.5_f32, min_value: -1.5_f32, name: "Puffy_Upper_Cheeks".to_owned(), param_id: 30018, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceCheekUpperLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.002_f32, y : 0.0_f32, z : 0.0015_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.15_f32, y : 0.1_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.002_f32, y : 0.0_f32, z : 0.0015_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.15_f32, y : 0.1_f32, z : 0.1_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30019, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.5_f32, name: "Upturned_Nose_Tip".to_owned(), param_id: 30019, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.001_f32, y : 0.0_f32, z : - 0.0015_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.001_f32, y : 0.0_f32, z : - 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.001_f32, y : 0.0_f32, z : - 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30020, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Bulbous_Nose".to_owned(), param_id: 30020, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.4_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0015_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0015_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.3_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30021, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.3_f32, min_value: -0.2_f32, name: "Upper_Eyelid_Fold".to_owned(), param_id: 30021, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.006_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.006_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30023, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.5_f32, name: "Baggy_Eyes".to_owned(), param_id: 30023, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.5_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.5_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30024, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -1.5_f32, name: "Wide_Eyes".to_owned(), param_id: 30024, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30025, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -0.8_f32, name: "Wide_Lip_Cleft".to_owned(), param_id: 30025, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.1_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.001_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.001_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30027, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.2_f32, min_value: -1.3_f32, name: "Wide_Nose_Bridge".to_owned(), param_id: 30027, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseBridge".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.4_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30031, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Arced_Eyebrows".to_owned(), param_id: 30031, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30035, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Big_Ears".to_owned(), param_id: 30035, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEar1Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.002_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.55_f32, y : 0.55_f32, z : 0.55_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEar1Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.002_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.55_f32, y : 0.55_f32, z : 0.55_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30119, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Eyebrow Size".to_owned(), param_id: 30119, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.5_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.5_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.5_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.5_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.5_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.5_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30155, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.3_f32, min_value: -0.9_f32, name: "Lip Width".to_owned(), param_id: 30155, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.005_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.005_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30185, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Deep_Chin".to_owned(), param_id: 30185, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceChin".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30193, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Square_Head".to_owned(), param_id: 30193, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceChin".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.2_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceRoot" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.2_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.2_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.01_f32, z : - 0.01_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 1.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.01_f32, z : - 0.01_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 1.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceJawShaper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.3_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30505, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 0.7_f32, min_value: 0.0_f32, name: "Lip_Thickness".to_owned(), param_id: 30505, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : - 0.6_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.012_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : - 0.6_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.015_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : - 0.6_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.012_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : - 0.6_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : - 0.6_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : 0.008_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : - 0.6_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : 0.008_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : - 0.6_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : 0.008_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : - 0.6_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30506, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Mouth_Height".to_owned(), param_id: 30506, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceTeethUpper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.006_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethLower".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.006_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30517, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Wide_Nose".to_owned(), param_id: 30517, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.85_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.001_f32, y : 0.013_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.001_f32, y : - 0.013_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30646, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.3_f32, name: "Egg_Head".to_owned(), param_id: 30646, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceRoot".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.07_f32, z : 0.07_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.001_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceChin".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.015_f32, y : 0.0_f32, z : 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0033_f32, z : 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0033_f32, z : 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0033_f32, z : 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0033_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0017_f32, z : 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.004_f32, z : 0.0014_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.00377_f32, z : 0.00061_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.00225_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0033_f32, z : 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0033_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0017_f32, z : 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.004_f32, z : 0.0014_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.00377_f32, z : 0.00061_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.00225_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethUpper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0075_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethLower".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0061_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTongueBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0085_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0085_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.006_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceJawShaper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.2_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30647, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Squash_Stretch_Head".to_owned(), param_id: 30647, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceRoot".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.1_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mFaceChin" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.1_f32, z : 0.5_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.006_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0053_f32, z : - 0.0047_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0045_f32, z : - 0.0053_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.00225_f32, z : - 0.0048_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0053_f32, z : - 0.0047_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0045_f32, z : - 0.0053_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.00225_f32, z : - 0.0048_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0042_f32, z : - 0.0035_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0042_f32, z : - 0.0035_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0039_f32, z : - 0.0032_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0039_f32, z : - 0.0032_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0039_f32, z : - 0.0032_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0039_f32, z : - 0.0032_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.00225_f32, z : - 0.0032_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.00225_f32, z : - 0.0032_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBridge".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.002_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.002_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.003_f32, z : 0.0032_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.003_f32, z : 0.0032_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethUpper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0032_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethLower".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0016_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30650, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.2_f32, min_value: -1.3_f32, name: "Eyelid_Corner_Up".to_owned(), param_id: 30650, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30653, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -1.0_f32, name: "Tall_Lips".to_owned(), param_id: 30653, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.008_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.009_f32, y : 0.0_f32, z : 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.009_f32, y : 0.0_f32, z : 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.009_f32, y : 0.0_f32, z : 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.008_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.008_f32, y : 0.0_f32, z : - 0.0015_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.008_f32, y : 0.0_f32, z : - 0.0025_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.008_f32, y : 0.0_f32, z : - 0.0015_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.2_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30656, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Crooked_Nose".to_owned(), param_id: 30656, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.009_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.007_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.005_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.005_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.001_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.002_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.002_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.001_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0008_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0008_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBridge".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.004_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethUpper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.001_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.001_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30657, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.4_f32, min_value: 0.0_f32, name: "Smile_Mouth".to_owned(), param_id: 30657, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.005_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.005_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.002_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.0005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.002_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.001_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.001_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30658, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.4_f32, min_value: 0.0_f32, name: "Frown_Mouth".to_owned(), param_id: 30658, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30665, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -2.0_f32, name: "Jaw_Jut".to_owned(), param_id: 30665, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceTeethLower".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.008_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceChin" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.008_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30689, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.1_f32, min_value: -1.1_f32, name: "EyeBone_Big_Eyes".to_owned(), param_id: 30689, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mEyeLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.248_f32, y : 0.25_f32, z : 0.25_f32 } }, SkeletalBoneInfo { bone_name : "mEyeRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.248_f32, y : 0.25_f32, z : 0.25_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.248_f32, y : 0.25_f32, z : 0.25_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.248_f32, y : 0.25_f32, z : 0.25_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30757, VisualParam { alpha_params: None, color_params: None, default_value: -1.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -4.0_f32, name: "Lower_Eyebrows".to_owned(), param_id: 30757, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterRight" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowOuterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30758, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -1.5_f32, name: "Lower_Bridge_Nose".to_owned(), param_id: 30758, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseBridge".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0025_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30759, VisualParam { alpha_params: None, color_params: None, default_value: 0.5_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: -1.0_f32, name: "Low_Septum_Nose".to_owned(), param_id: 30759, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30760, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -1.2_f32, name: "Jaw_Angle".to_owned(), param_id: 30760, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceJawShaper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.03_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30764, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.2_f32, min_value: -1.0_f32, name: "Lip_Cleft_Deep".to_owned(), param_id: 30764, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.3_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.3_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30765, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.5_f32, min_value: -0.3_f32, name: "Puffy_Lower_Lids".to_owned(), param_id: 30765, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.05_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.05_f32, y : 0.05_f32, z : 0.05_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30772, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "EyeBone_Head_Elongate".to_owned(), param_id: 30772, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceRoot".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.25_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.0038_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.0038_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.0038_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeLidLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.0038_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.007_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceCheekLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.007_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceChin".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.014_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethUpper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.28_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethLower".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.28_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTongueBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.3_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTongueTip".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30796, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 3.0_f32, min_value: -0.4_f32, name: "Pointy_Ears".to_owned(), param_id: 30796, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEar2Left".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.0149_f32, y : 0.001_f32, z : 0.016_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEar2Right".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.0149_f32, y : - 0.001_f32, z : 0.016_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30797, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "Fat_Upper_Lip".to_owned(), param_id: 30797, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.004_f32, y : 0.0_f32, z : 0.006_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.6_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.004_f32, y : 0.0_f32, z : 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.4_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.004_f32, y : 0.0_f32, z : 0.006_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.6_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30798, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.5_f32, min_value: 0.0_f32, name: "Fat_Lower_Lip".to_owned(), param_id: 30798, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : - 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : - 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : - 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : - 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.002_f32, y : 0.0_f32, z : - 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.25_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.25_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.005_f32, y : 0.0_f32, z : - 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.1_f32, y : 0.0_f32, z : 0.25_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30879, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: -0.5_f32, name: "Male_Package".to_owned(), param_id: 30879, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mGroin".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.5_f32, y : 0.25_f32, z : 0.1_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 30880, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.2_f32, min_value: -1.3_f32, name: "Eyelid_Inner_Corner_Up".to_owned(), param_id: 30880, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyecornerInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 31505, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Lip_Thickness".to_owned(), param_id: 31505, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceLipCornerLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.4_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.4_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipUpperRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.004_f32, y : 0.0_f32, z : 0.004_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.4_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipCornerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.005_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.1_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.006_f32, y : 0.0_f32, z : - 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.3_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.006_f32, y : 0.0_f32, z : - 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.3_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.006_f32, y : 0.0_f32, z : - 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.2_f32, y : 0.0_f32, z : 0.3_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 31629, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Forehead Angle".to_owned(), param_id: 31629, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceForeheadLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.08_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.002_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.08_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.08_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 31663, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Shift_Mouth".to_owned(), param_id: 31663, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.004_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethUpper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.006_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethLower".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.006_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 31772, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "EyeBone_Head_Elongate".to_owned(), param_id: 31772, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0058_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0058_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 32629, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Forehead Angle".to_owned(), param_id: 32629, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceForeheadLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.001_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 32663, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 2.0_f32, min_value: 0.0_f32, name: "Shift_Mouth".to_owned(), param_id: 32663, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceNoseCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseBase".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.004_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceNoseRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.003_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethUpper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.006_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceTeethLower".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.006_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 32772, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "EyeBone_Head_Elongate".to_owned(), param_id: 32772, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceEyeAltLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.0032_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyeAltRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.0032_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 40007, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 0.5_f32, min_value: -0.5_f32, name: "Weak_Chin".to_owned(), param_id: 40007, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceChin".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.025_f32, y : 0.0_f32, z : 0.005_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 40017, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -0.5_f32, name: "Square_Jaw".to_owned(), param_id: 40017, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceJaw".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.5_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceJawShaper".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.5_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0038_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceLipLowerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : - 0.0038_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 40185, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: -1.0_f32, name: "Deep_Chin".to_owned(), param_id: 40185, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceChin".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : - 0.02_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 41629, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Forehead Angle".to_owned(), param_id: 41629, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceForeheadLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.08_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.002_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.01_f32, y : 0.0_f32, z : 0.08_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.02_f32, y : 0.0_f32, z : 0.0_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.08_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params .insert( 42629, VisualParam { alpha_params: None, color_params: None, default_value: 0.0_f32, driven_params: None, drivers: None, group: 1, is_bump_attribute: false, label: "".to_owned(), label_max: "".to_owned(), label_min: "".to_owned(), max_value: 1.0_f32, min_value: 0.0_f32, name: "Forehead Angle".to_owned(), param_id: 42629, skeletal_distortions: Some( vec![ SkeletalBoneInfo { bone_name : "mFaceForeheadLeft" .to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadCenter".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.001_f32, y : 0.0_f32, z : 0.001_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceForeheadRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : - 0.01_f32, y : 0.0_f32, z : - 0.01_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.2_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowInnerLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.002_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterRight".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } }, SkeletalBoneInfo { bone_name : "mFaceEyebrowCenterLeft".to_owned(), has_position_deformation : true, position_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.003_f32 }, scale_deformation : libremetaverse_types::Vector3 { x : 0.0_f32, y : 0.0_f32, z : 0.0_f32 } } ], ), volume_morphs: None, wearable: None, }, ); params }) } pub struct VisualParams; impl VisualParams { pub fn group0_param_ids() -> Vec { GROUP0_PARAM_IDS.to_vec() } pub fn params() -> libremetaverse_types::compat::SortedList { libremetaverse_types::compat::SortedList(generated_params().clone()) } pub fn find( name: String, wearable: Option, ) -> Result { Ok( generated_params() .values() .find(|param| param.name == name && param.wearable == wearable) .cloned() .unwrap_or_default(), ) } } pub(crate) fn param_by_id(id: i32) -> Option<&'static VisualParam> { generated_params().get(&id) } pub(crate) fn decode_visual_params(bytes: &[u8]) -> HashMap { let params = generated_params(); let mut result = HashMap::with_capacity(GROUP0_PARAM_IDS.len()); for (&id, &value) in GROUP0_PARAM_IDS.iter().zip(bytes) { if let Some(param) = params.get(&id) { let range = param.max_value - param.min_value; let mut decoded = f32::from(value) * (1.0 / 255.0) * range + param.min_value; if decoded.abs() < range * (1.0 / 255.0) { decoded = 0.0; } result.insert(id, decoded); } } for driver in params.values() { let Some(driven_params) = &driver.driven_params else { continue }; let Some(&driver_value) = result.get(&driver.param_id) else { continue }; for driven in driven_params { let Some(target) = params.get(&driven.param_id) else { continue }; let normalized = if driven.has_range { if driver_value < driven.min1 { 0.0 } else if driver_value < driven.max1 { (driver_value - driven.min1) / (driven.max1 - driven.min1) } else if driver_value <= driven.max2 { 1.0 } else if driver_value < driven.min2 { (driven.min2 - driver_value) / (driven.min2 - driven.max2) } else { 0.0 } } else { let range = driver.max_value - driver.min_value; if range > 1.0e-6 { (driver_value - driver.min_value) / range } else { 0.0 } } .clamp(0.0, 1.0); result .insert( driven.param_id, target.min_value + normalized * (target.max_value - target.min_value), ); } } result } pub(crate) fn new_avatar() -> Result { Ok(crate::Avatar { base: crate::Primitive::new_with_constructor()?, animations: Vec::new(), appearance_flags: crate::AppearanceFlags::NONE, appearance_version: 0, attachments: Vec::new(), cof_version: 0, control_flags: crate::AgentManagerControlFlags(0), groups: Vec::new(), hover_height: libremetaverse_types::Vector3::zero(), profile_interests: crate::AvatarInterests { languages_text: String::new(), skills_mask: 0, skills_text: String::new(), want_to_mask: 0, want_to_text: String::new(), }, profile_properties: crate::AvatarAvatarProperties { about_text: String::new(), born_on: String::new(), charter_member: String::new(), first_life_image: libremetaverse_types::UUID::zero(), first_life_text: String::new(), flags: crate::ProfileFlags(0), partner: libremetaverse_types::UUID::zero(), profile_image: libremetaverse_types::UUID::zero(), profile_url: String::new(), }, profile_statistics: crate::AvatarStatistics { appearance_negative: 0, appearance_positive: 0, behavior_negative: 0, behavior_positive: 0, building_negative: 0, building_positive: 0, given_negative: 0, given_positive: 0, }, visual_parameters: Vec::new(), }) } #[cfg(test)] mod tests { use super::*; #[test] fn golden_catalog_shape_and_values() { let params = generated_params(); assert_eq!(params.len(), 672); assert_eq!(GROUP0_PARAM_IDS.len(), 253); assert!(GROUP0_PARAM_IDS.windows(2).all(| ids | ids[0] < ids[1])); let height = ¶ms[&33]; assert_eq!(height.name, "Height"); assert_eq!(height.group, 0); assert_eq!(height.wearable.as_deref(), Some("shape")); assert_eq!(height.min_value, - 2.3); assert_eq!(height.max_value, 2.0); assert!(! height.skeletal_distortions.as_ref().unwrap().is_empty()); } }