Author SHA1 Message Date
kijai 2e7c00a03b initial syncammaster 2025-04-17 01:21:47 +03:00
5 changed files with 1224 additions and 35 deletions
+65 -26
View File
@@ -617,7 +617,23 @@ class WanVideoModelLoader:
transformer = WanModel(**TRANSFORMER_CONFIG)
transformer.eval()
if "blocks.0.cam_encoder.weight" in sd:
if "blocks.0.mvs_attn.q.weight" in sd: #syncammaster
log.info("SynCamMaster model detected, patching model...")
from .wanvideo.modules.model import WanSelfAttention, WanLayerNorm
import torch.nn as nn
for block in transformer.blocks:
block.cam_encoder = nn.Linear(12, dim)
block.projector = nn.Linear(dim, dim)
block.cam_encoder.weight.data.zero_()
block.cam_encoder.bias.data.zero_()
block.projector.weight = nn.Parameter(torch.zeros(dim, dim))
block.projector.bias = nn.Parameter(torch.zeros(dim))
block.norm_mvs = WanLayerNorm(dim, eps=block.norm1.eps, elementwise_affine=False)
block.mvs_attn = WanSelfAttention(dim, num_heads, attention_mode=attention_mode)
block.modulation_mvs = nn.Parameter(torch.randn(1, 3, dim, device=block.modulation.device, dtype=block.modulation.dtype) / dim**0.5)
block.modulation_mvs.data = block.modulation.data[:, :3, :].clone()
#block.mvs_attn.load_state_dict(block.self_attn.state_dict(), strict=True)
elif "blocks.0.cam_encoder.weight" in sd: #recammaster
log.info("ReCamMaster model detected, patching model...")
import torch.nn as nn
for block in transformer.blocks:
@@ -627,6 +643,7 @@ class WanVideoModelLoader:
block.cam_encoder.bias.data.zero_()
block.projector.weight = nn.Parameter(torch.eye(dim))
block.projector.bias = nn.Parameter(torch.zeros(dim))
comfy_model = WanVideoModel(
WanVideoModelConfig(base_dtype),
@@ -2254,6 +2271,7 @@ class WanVideoSampler:
raise ValueError("Clip encoded image embeds must be provided for I2V (Image to Video) model")
fun_model = image_embeds.get("fun_model", False)
noise = torch.randn(
1,
16,
(image_embeds["num_frames"] - 1) // 4 + (2 if end_image is not None and not fun_model else 1),
lat_h,
@@ -2310,7 +2328,10 @@ class WanVideoSampler:
"seq_len": vace_additional_embeds[i]["vace_seq_len"]
})
syncammaster = image_embeds.get("syncammaster", None)
noise = torch.randn(
1 if not syncammaster else 2,
target_shape[0],
target_shape[1] + 1 if has_ref else target_shape[1],
target_shape[2],
@@ -2319,16 +2340,21 @@ class WanVideoSampler:
device=torch.device("cpu"),
generator=seed_g)
seq_len = math.ceil((noise.shape[2] * noise.shape[3]) / 4 * noise.shape[1])
seq_len = math.ceil((noise.shape[3] * noise.shape[4]) / 4 * noise.shape[2])
recammaster = image_embeds.get("recammaster", None)
if recammaster is not None:
camera_embed = recammaster.get("camera_embed", None)
recam_latents = recammaster.get("source_latents", None)
orig_noise_len = noise.shape[1]
orig_noise_len = noise.shape[2]
log.info(f"RecamMaster camera embed shape: {camera_embed.shape}")
log.info(f"RecamMaster source video shape: {recam_latents.shape}")
seq_len *= 2
syncammaster = image_embeds.get("syncammaster", None)
if syncammaster is not None:
camera_embed = syncammaster.get("camera_embed", None)
log.info(f"SyncamMaster camera embed shape: {camera_embed.shape}")
control_embeds = image_embeds.get("control_embeds", None)
if control_embeds is not None:
@@ -2350,12 +2376,12 @@ class WanVideoSampler:
else:
if transformer.in_dim == 36: #fun inp
mask_latents = torch.tile(
torch.zeros_like(noise[:1]), [4, 1, 1, 1]
torch.zeros_like(noise[:,:1]), [1, 4, 1, 1, 1]
)
masked_video_latents_input = torch.zeros_like(noise)
image_cond = torch.cat([mask_latents, masked_video_latents_input], dim=0).to(device)
image_cond = torch.cat([mask_latents, masked_video_latents_input], dim=1).to(device)
latent_video_length = noise.shape[1]
latent_video_length = noise.shape[2]
is_looped = False
if context_options is not None:
@@ -2394,7 +2420,7 @@ class WanVideoSampler:
log.info(f"Section size: {section_size}")
is_looped = context_schedule == "uniform_looped"
seq_len = math.ceil((noise.shape[2] * noise.shape[3]) / 4 * context_frames)
seq_len = math.ceil((noise.shape[3] * noise.shape[4]) / 4 * context_frames)
if context_options["freenoise"]:
log.info("Applying FreeNoise")
@@ -2410,11 +2436,11 @@ class WanVideoSampler:
final_delta = latent_video_length - place_idx
list_idx = torch.tensor(list(range(start_idx,start_idx+final_delta)), device=torch.device("cpu"), dtype=torch.long)
list_idx = list_idx[torch.randperm(final_delta, generator=seed_g)]
noise[:, place_idx:place_idx + final_delta, :, :] = noise[:, list_idx, :, :]
noise[:, :, place_idx:place_idx + final_delta, :, :] = noise[:, :, list_idx, :, :]
break
list_idx = torch.tensor(list(range(start_idx,start_idx+delta)), device=torch.device("cpu"), dtype=torch.long)
list_idx = list_idx[torch.randperm(delta, generator=seed_g)]
noise[:, place_idx:place_idx + delta, :, :] = noise[:, list_idx, :, :]
noise[:, :, place_idx:place_idx + delta, :, :] = noise[:, :, list_idx, :, :]
log.info(f"Context schedule enabled: {context_frames} frames, {context_stride} stride, {context_overlap} overlap")
from .context import get_context_scheduler
@@ -2423,7 +2449,7 @@ class WanVideoSampler:
if samples is not None:
input_samples = samples["samples"].squeeze(0).to(noise)
if input_samples.shape[1] != noise.shape[1]:
input_samples = torch.cat([input_samples[:, :1].repeat(1, noise.shape[1] - input_samples.shape[1], 1, 1), input_samples], dim=1)
input_samples = torch.cat([input_samples[:, :, :1].repeat(1, 1, noise.shape[2] - input_samples.shape[1], 1, 1), input_samples], dim=1)
original_image = input_samples.to(device)
if denoise_strength < 1.0:
latent_timestep = timesteps[:1].to(noise)
@@ -2431,8 +2457,8 @@ class WanVideoSampler:
mask = samples.get("mask", None)
if mask is not None:
if mask.shape[2] != noise.shape[1]:
mask = torch.cat([torch.zeros(1, noise.shape[0], noise.shape[1] - mask.shape[2], noise.shape[2], noise.shape[3]), mask], dim=2)
if mask.shape[2] != noise.shape[2]:
mask = torch.cat([torch.zeros(noise.shape[0], noise.shape[1], noise.shape[2] - mask.shape[2], noise.shape[3], noise.shape[4]), mask], dim=2)
latent = noise.to(device)
@@ -2629,29 +2655,33 @@ class WanVideoSampler:
'camera_embed': camera_embed,
}
batch_size = 1
if not math.isclose(cfg_scale, 1.0) and len(positive_embeds) > 1:
negative_embeds = negative_embeds * len(positive_embeds)
if not batched_cfg:
#cond
noise_pred_cond, teacache_state_cond = transformer(
[z], context=positive_embeds, clip_fea=clip_fea, is_uncond=False, current_step_percentage=current_step_percentage,
torch.unbind(z), context=positive_embeds * z.shape[0],
clip_fea=clip_fea, is_uncond=False, current_step_percentage=current_step_percentage,
pred_id=teacache_state[0] if teacache_state else None,
**base_params
)
noise_pred_cond = noise_pred_cond[0].to(intermediate_device)
#noise_pred_cond = noise_pred_cond[0].to(intermediate_device)
noise_pred_cond = torch.stack(noise_pred_cond).to(intermediate_device)
if math.isclose(cfg_scale, 1.0):
return noise_pred_cond, [teacache_state_cond]
#uncond
noise_pred_uncond, teacache_state_uncond = transformer(
[z], context=negative_embeds, clip_fea=clip_fea_neg if clip_fea_neg is not None else clip_fea,
torch.unbind(z), context=negative_embeds * z.shape[0],
clip_fea=clip_fea_neg if clip_fea_neg is not None else clip_fea,
is_uncond=True, current_step_percentage=current_step_percentage,
pred_id=teacache_state[1] if teacache_state else None,
**base_params
)
noise_pred_uncond = noise_pred_uncond[0].to(intermediate_device)
#noise_pred_uncond = noise_pred_uncond[0].to(intermediate_device)
noise_pred_uncond = torch.stack(noise_pred_uncond).to(intermediate_device)
#batched
else:
teacache_state_uncond = None
@@ -2664,6 +2694,7 @@ class WanVideoSampler:
#https://github.com/WeichenFan/CFG-Zero-star/
if use_cfg_zero_star:
batch_size = 1
alpha = optimized_scale(
noise_pred_cond.view(batch_size, -1),
noise_pred_uncond.view(batch_size, -1)
@@ -2674,7 +2705,7 @@ class WanVideoSampler:
return noise_pred, [teacache_state_cond, teacache_state_uncond]
log.info(f"Sampling {(latent_video_length-1) * 4 + 1} frames at {latent.shape[3]*8}x{latent.shape[2]*8} with {steps} steps")
log.info(f"Sampling {(latent_video_length-1) * 4 + 1} frames at {latent.shape[4]*8}x{latent.shape[3]*8} with {steps} steps")
intermediate_device = device
@@ -2975,19 +3006,19 @@ class WanVideoSampler:
if isinstance(sample_scheduler, DEISMultistepScheduler):
step_args.pop("generator", None)
temp_x0 = sample_scheduler.step(
noise_pred[:, :orig_noise_len].unsqueeze(0) if recammaster is not None else noise_pred.unsqueeze(0),
noise_pred[:, :orig_noise_len] if recammaster is not None else noise_pred,
t,
latent[:, :orig_noise_len].unsqueeze(0) if recammaster is not None else latent.unsqueeze(0),
latent[:, :orig_noise_len] if recammaster is not None else latent,
return_dict=False,
**step_args)[0]
latent = temp_x0.squeeze(0)
latent = temp_x0
x0 = latent.to(device)
if callback is not None:
if recammaster is not None:
callback_latent = (latent_model_input[:, :orig_noise_len] - noise_pred[:, :orig_noise_len].to(t.device) * t / 1000).detach().permute(1,0,2,3)
else:
callback_latent = (latent_model_input - noise_pred.to(t.device) * t / 1000).detach().permute(1,0,2,3)
callback_latent = (latent_model_input[0] - noise_pred[0].to(t.device) * t / 1000).detach().permute(1,0,2,3)
callback(idx, callback_latent, None, steps)
else:
pbar.update(1)
@@ -3029,7 +3060,7 @@ class WanVideoSampler:
pass
return ({
"samples": x0.unsqueeze(0).cpu(), "looped": is_looped, "end_image": end_image if not fun_model else None, "has_ref": has_ref, "drop_last": drop_last,
"samples": latent.cpu(), "looped": is_looped, "end_image": end_image if not fun_model else None, "has_ref": has_ref, "drop_last": drop_last,
}, )
class WindowTracker:
@@ -3102,6 +3133,7 @@ class WanVideoDecode:
vae.to(device)
latents = latents.to(device = device, dtype = vae.dtype)
print("latents.shape", latents.shape)
mm.soft_empty_cache()
@@ -3118,7 +3150,14 @@ class WanVideoDecode:
else:
if end_image is not None:
enable_vae_tiling = False
images = vae.decode(latents, device=device, end_=(end_image is not None), tiled=enable_vae_tiling, tile_size=(tile_x//8, tile_y//8), tile_stride=(tile_stride_x//8, tile_stride_y//8))[0]
if latents.shape[0] > 1:
decoded = []
for i in range(latents.shape[0]):
decoded.append(vae.decode(latents[i].unsqueeze(0), device=device, end_=(end_image is not None), tiled=enable_vae_tiling, tile_size=(tile_x//8, tile_y//8), tile_stride=(tile_stride_x//8, tile_stride_y//8))[0])
images = torch.cat(decoded, dim=2)
print("images.shape", images.shape)
else:
images = vae.decode(latents, device=device, end_=(end_image is not None), tiled=enable_vae_tiling, tile_size=(tile_x//8, tile_y//8), tile_stride=(tile_stride_x//8, tile_stride_y//8))[0]
vae.model.clear_cache()
images = (images - images.min()) / (images.max() - images.min())
+140 -1
View File
@@ -43,7 +43,7 @@ class WanVideoReCamMasterCameraEmbed:
import json
from einops import rearrange
camera_data_path = os.path.join(script_directory, "camera_extrinsics.json")
camera_data_path = os.path.join(script_directory, "recam_extrinsics.json")
with open(camera_data_path, 'r') as file:
cam_data = json.load(file)
@@ -66,6 +66,61 @@ class WanVideoReCamMasterCameraEmbed:
cam_idx = list(range(num_frames))[::4]
traj = [self.parse_matrix(cam_data[f"frame{idx}"][f"cam{int(camera_type_map[camera_type]):02d}"]) for idx in cam_idx]
def generate_orbit_180(num_frames=81):
camera_data = {}
radius = 100 # Distance from center during orbit
center = np.array([3390, 1380, 240]) # Center point of orbit
# Arc movement similar to arc_left/arc_right but spanning 180 degrees
for i in range(num_frames):
# Calculate angle from 0 to 180 degrees
angle = i * 90.0 / (num_frames - 1)
angle_rad = np.radians(angle)
# Calculate position - circular path around center
x = center[0] + radius * np.cos(angle_rad)
y = center[1] + radius * np.sin(angle_rad)
z = center[2] # Z stays constant
pos = np.array([x, y, z])
# Calculate direction from camera to center point
dir_to_center = center - pos
dir_to_center_xy = dir_to_center.copy()
dir_to_center_xy[2] = 0 # Project to XY plane for horizontal orientation
# Normalize the direction vector
dir_to_center_xy = dir_to_center_xy / np.linalg.norm(dir_to_center_xy)
# For camera to face center, forward vector should be this direction
# The rotation matrix needs to make the camera's forward vector (local Z)
# point toward the center
# Calculate the angle between the camera and center in the XY plane
# This is the negative angle we need to rotate camera to face center
look_angle = np.arctan2(dir_to_center_xy[1], dir_to_center_xy[0])
# Rotation matrix for facing the center
cos_look = np.cos(look_angle)
sin_look = np.sin(look_angle)
# Format string with rotation that makes camera face the center
matrix_str = f"[{cos_look} {sin_look} 0 0] "
matrix_str += f"[{-sin_look} {cos_look} 0 0] "
matrix_str += f"[0 0 1 0] "
matrix_str += f"[{x} {y} {z} 1] "
# Store the camera string
frame_key = f"frame{i}"
if frame_key not in camera_data:
camera_data[frame_key] = {}
camera_data[frame_key]["cam11"] = matrix_str
return camera_data
# Generate the orbit camera data
#traj = [self.parse_matrix(generate_orbit_180(num_frames=81)[f"frame{idx}"][f"cam{int(11):02d}"]) for idx in cam_idx]
#print(traj)
traj = np.stack(traj).transpose(0, 2, 1)
c2ws = []
for c2w in traj:
@@ -95,6 +150,88 @@ class WanVideoReCamMasterCameraEmbed:
return (embeds, traj,)
class WanVideoSynCamMasterCameraEmbed:
@classmethod
def INPUT_TYPES(s):
return {"required": {
"width": ("INT", {"default": 832, "min": 64, "max": 2048, "step": 8, "tooltip": "Width of the image to encode"}),
"height": ("INT", {"default": 480, "min": 64, "max": 29048, "step": 8, "tooltip": "Height of the image to encode"}),
"num_frames": ("INT", {"default": 81, "min": 1, "max": 10000, "step": 4, "tooltip": "Number of frames to encode"}),
"camera_type": ([
"azimuth",
"elevation",
"distance",
], {"tooltip": "Camera type to use"}),
},
}
RETURN_TYPES = ("WANVIDIMAGE_EMBEDS", "CAMERAPOSES",)
RETURN_NAMES = ("camera_embeds", "camera_poses",)
FUNCTION = "process"
CATEGORY = "WanVideoWrapper"
DESCRIPTION = "https://github.com/KwaiVGI/ReCamMaster"
def process(self, width, height, num_frames, camera_type):
# load camera
import json
from einops import rearrange
camera_data_path = os.path.join(script_directory, "syncam_extrinsics.json")
with open(camera_data_path, 'r') as file:
cam_data = json.load(file)
# load camera
multiview_c2ws = []
cam_idx = list(range(num_frames))[::4]
traj_list = []
if camera_type == "azimuth":
tgt_idx = 1
cond_idx = 3
elif camera_type == "elevation":
tgt_idx = 3
cond_idx = 7
elif camera_type == "distance":
tgt_idx = 9
cond_idx = 10
for view_idx in [cond_idx, tgt_idx]:
traj = [self.parse_matrix(cam_data[f"frame{idx}"][f"cam{view_idx:02d}"]) for idx in cam_idx]
traj = np.stack(traj).transpose(0, 2, 1)
traj_list.append(traj)
c2ws = []
for c2w in traj:
c2w = c2w[:, [1, 2, 0, 3]]
c2w[:3, 1] *= -1.
c2w[:3, 3] /= 200
c2ws.append(c2w)
multiview_c2ws.append(c2ws)
cond_cam_params = [Camera(cam_param) for cam_param in multiview_c2ws[0]]
tgt_cam_params = [Camera(cam_param) for cam_param in multiview_c2ws[1]]
relative_poses = []
for i in range(len(tgt_cam_params)):
relative_pose = self.get_relative_pose([tgt_cam_params[i], cond_cam_params[i]])
relative_poses.append(torch.as_tensor(relative_pose)[:,:3,:])
pose_embedding = torch.stack(relative_poses, dim=1) # v,21,3,4
pose_embedding = rearrange(pose_embedding, 'v f c d -> v f (c d)')
vae_stride = (4, 8, 8)
target_shape = (16, (num_frames - 1) // vae_stride[0] + 1,
height // vae_stride[1],
width // vae_stride[2])
embeds = {
"target_shape": target_shape,
"num_frames": num_frames,
"syncammaster": {
"camera_embed": pose_embedding,
}
}
return (embeds, np.concatenate(traj_list),)
def parse_matrix(self, matrix_str):
rows = matrix_str.strip().split('] [')
matrix = []
@@ -274,8 +411,10 @@ or a .txt file with RealEstate camera intrinsics and coordinates, in a 3D plot.
NODE_CLASS_MAPPINGS = {
"WanVideoReCamMasterCameraEmbed": WanVideoReCamMasterCameraEmbed,
"ReCamMasterPoseVisualizer": ReCamMasterPoseVisualizer,
"WanVideoSynCamMasterCameraEmbed": WanVideoSynCamMasterCameraEmbed,
}
NODE_DISPLAY_NAME_MAPPINGS = {
"WanVideoReCamMasterCameraEmbed": "WanVideo ReCamMaster Camera Embed",
"ReCamMasterPoseVisualizer": "ReCamMaster Pose Visualizer",
"WanVideoSynCamMasterCameraEmbed": "WanVideo SyncamMaster Camera Embed",
}
+974
View File
@@ -0,0 +1,974 @@
{
"frame0": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame1": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame2": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame3": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame4": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame5": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame6": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame7": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame8": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame9": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame10": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame11": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame12": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame13": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame14": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame15": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame16": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame17": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame18": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame19": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame20": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame21": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame22": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame23": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame24": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame25": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame26": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame27": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame28": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame29": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame30": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame31": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame32": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame33": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame34": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame35": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame36": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame37": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame38": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame39": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame40": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame41": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame42": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame43": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame44": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame45": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame46": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame47": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame48": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame49": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame50": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame51": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame52": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame53": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame54": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame55": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame56": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame57": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame58": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame59": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame60": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame61": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame62": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame63": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame64": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame65": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame66": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame67": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame68": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame69": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame70": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame71": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame72": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame73": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame74": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame75": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame76": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame77": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame78": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame79": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
},
"frame80": {
"cam01": "[0.866025 -0.5 0 0] [0.5 0.866025 -0 0] [0 0 1 0] [12960.2 1250 -570 1] ",
"cam02": "[0.965926 -0.258819 0 0] [0.258819 0.965926 -0 0] [0 0 1 0] [12930.2 1177.65 -570 1] ",
"cam03": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12920 1100 -570 1] ",
"cam04": "[0.965926 0.258819 0 0] [-0.258819 0.965926 0 0] [0 -0 1 0] [12930.2 1022.35 -570 1] ",
"cam05": "[0.866025 0.5 0 0] [-0.5 0.866025 0 0] [0 -0 1 0] [12960.2 950 -570 1] ",
"cam06": "[0.984808 0 -0.173648 0] [-0 1 0 0] [0.173648 0 0.984808 0] [12920 1100 -517.102 1] ",
"cam07": "[0.939693 0 -0.34202 0] [-0 1 0 0] [0.34202 0 0.939693 0] [12920 1100 -460.809 1] ",
"cam08": "[0.866025 0 -0.5 0] [-0 1 0 0] [0.5 0 0.866025 0] [12920 1100 -396.795 1] ",
"cam09": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12820 1100 -570 1] ",
"cam10": "[1 0 0 0] [-0 1 0 0] [0 -0 1 0] [12720 1100 -570 1] "
}
}
+45 -8
View File
@@ -455,7 +455,8 @@ class WanAttentionBlock(nn.Module):
video_attention_split_steps=[],
rope_func = "default",
clip_embed=None,
camera_embed=None
camera_embed=None,
freqs_mvs=None,
):
r"""
@@ -466,10 +467,11 @@ class WanAttentionBlock(nn.Module):
grid_sizes(Tensor): Shape [B, 3], the second dimension contains (F, H, W)
freqs(Tensor): Rope freqs, shape [1024, C / num_heads / 2]
"""
e = (self.modulation.to(e.device) + e).chunk(6, dim=1)
input_x = self.norm1(x) * (1 + e[1]) + e[0]
e_mod = (self.modulation.to(e.device) + e).chunk(6, dim=1)
input_x = self.norm1(x) * (1 + e_mod[1]) + e_mod[0]
if camera_embed is not None:
if camera_embed is not None and not hasattr(self, 'mvs_attn'):
print("ReCamMaster camera embedding")
# encode ReCamMaster camera
camera_embed = self.cam_encoder(camera_embed.to(x))
camera_embed = camera_embed.repeat(1, 2, 1)
@@ -479,6 +481,7 @@ class WanAttentionBlock(nn.Module):
# self-attention
if (context.shape[0] > 1 or (clip_embed is not None and clip_embed.shape[0] > 1)) and x.shape[0] == 1:
print("Attention split")
y = self.self_attn.forward_split(
input_x,
seq_lens, grid_sizes,
@@ -494,16 +497,36 @@ class WanAttentionBlock(nn.Module):
freqs, rope_func=rope_func
)
#ReCamMaster
if camera_embed is not None:
if camera_embed is not None and not hasattr(self, 'mvs_attn'):
print("ReCamMaster camera embedding")
y = self.projector(y)
x = x.to(torch.float32) + (y.to(torch.float32) * e[2].to(torch.float32))
x = x.to(torch.float32) + (y.to(torch.float32) * e_mod[2].to(torch.float32))
if hasattr(self, 'mvs_attn'):
shift_mvs, scale_mvs, gate_mvs = (
self.modulation_mvs.to(e.device) + e[:, :3, :]).chunk(3, dim=1)
input_x = self.norm_mvs(x) * (1 + scale_mvs) + shift_mvs
v, f, _ = camera_embed.shape
h, w = 30, 52 # h, w hard code
camera_embed = self.cam_encoder(camera_embed.to(x))
camera_embed = camera_embed.unsqueeze(2).unsqueeze(3).repeat(1, 1, h, w, 1)
camera_embed = rearrange(camera_embed, 'b f h w d -> b (f h w) d')
input_x += camera_embed
x = rearrange(x, '(b v) (f h w) d -> (b f) (v h w) d', v=v, f=f, h=h, w=w)
input_x = rearrange(input_x, '(b v) (f h w) d -> (b f) (v h w) d', v=v, f=f, h=h, w=w)
mvs_attn = self.mvs_attn(
input_x,
seq_lens, grid_sizes,
freqs_mvs, rope_func="comfy")
x = x + gate_mvs.to(torch.float32) * self.projector(mvs_attn)
x = rearrange(x, '(b f) (v h w) d -> (b v) (f h w) d', v=v, f=f, h=h, w=w)
# cross-attention & ffn function
if (context.shape[0] > 1 or (clip_embed is not None and clip_embed.shape[0] > 1)) and x.shape[0] == 1:
x = self.split_cross_attn_ffn(x, context, context_lens, e, clip_embed=clip_embed, grid_sizes=grid_sizes)
x = self.split_cross_attn_ffn(x, context, context_lens, e_mod, clip_embed=clip_embed, grid_sizes=grid_sizes)
else:
x = self.cross_attn_ffn(x, context, context_lens, e, clip_embed=clip_embed, grid_sizes=grid_sizes)
x = self.cross_attn_ffn(x, context, context_lens, e_mod, clip_embed=clip_embed, grid_sizes=grid_sizes)
return x
@@ -1020,6 +1043,8 @@ class WanModel(ModelMixin, ConfigMixin):
dim=1) for u in x
])
freqs_mvs = None
if freqs is None: #comfy rope
rope_func = "comfy"
f_len = ((F + (self.patch_size[0] // 2)) // self.patch_size[0])
@@ -1032,6 +1057,17 @@ class WanModel(ModelMixin, ConfigMixin):
img_ids = repeat(img_ids, "t h w c -> b (t h w) c", b=1)
freqs = self.rope_embedder(img_ids).movedim(1, 2)
if hasattr(self.blocks[0], "mvs_attn"): #syncammaster
# Create freqs_mvs with fixed temporal dimension v=2
v = 2
img_ids_mvs = torch.zeros((v, h_len, w_len, 3), device=x.device, dtype=x.dtype)
img_ids_mvs[:, :, :, 0] = img_ids_mvs[:, :, :, 0] + torch.linspace(0, v - 1, steps=v, device=x.device, dtype=x.dtype).reshape(-1, 1, 1)
img_ids_mvs[:, :, :, 1] = img_ids_mvs[:, :, :, 1] + torch.linspace(0, h_len - 1, steps=h_len, device=x.device, dtype=x.dtype).reshape(1, -1, 1)
img_ids_mvs[:, :, :, 2] = img_ids_mvs[:, :, :, 2] + torch.linspace(0, w_len - 1, steps=w_len, device=x.device, dtype=x.dtype).reshape(1, 1, -1)
img_ids_mvs = repeat(img_ids_mvs, "t h w c -> b (t h w) c", b=1)
freqs_mvs = self.rope_embedder(img_ids_mvs).movedim(1, 2)
else:
rope_func = "default"
@@ -1122,6 +1158,7 @@ class WanModel(ModelMixin, ConfigMixin):
current_step=current_step,
video_attention_split_steps=self.video_attention_split_steps,
camera_embed=camera_embed,
freqs_mvs=freqs_mvs,
)
if vace_data is not None: