div class=ts-pagebutton class=gotoPage data-page=1Page 1button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page1jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=1 data-page=1 class=ts-thumb lazyload alt=Page 1: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails1jpg width=140 height=200 adivpOwen Ben Davieswwwobdukcompdivdiv class=ts-pagebutton class=gotoPage data-page=2Page 2button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page2jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=2 data-page=2 class=ts-thumb lazyload alt=Page 2: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails2jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=3Page 3button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page3jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=3 data-page=3 class=ts-thumb lazyload alt=Page 3: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails3jpg width=140 height=200 adivpPuppet containedpdivdiv class=ts-pagebutton class=gotoPage data-page=4Page 4button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page4jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=4 data-page=4 class=ts-thumb lazyload alt=Page 4: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails4jpg width=140 height=200 adivpPuppet containedpdivdiv class=ts-pagebutton class=gotoPage data-page=5Page 5button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page5jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=5 data-page=5 class=ts-thumb lazyload alt=Page 5: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails5jpg width=140 height=200 adivpPuppet containedpdivdiv class=ts-pagebutton class=gotoPage data-page=6Page 6button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page6jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=6 data-page=6 class=ts-thumb lazyload alt=Page 6: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails6jpg width=140 height=200 adivpDownload Vagrantpdivdiv class=ts-pagebutton class=gotoPage data-page=7Page 7button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page7jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=7 data-page=7 class=ts-thumb lazyload alt=Page 7: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails7jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=8Page 8button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page8jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=8 data-page=8 class=ts-thumb lazyload alt=Page 8: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails8jpg width=140 height=200 adivpCreate Vagrant machinepdivdiv class=ts-pagebutton class=gotoPage data-page=9Page 9button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page9jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=9 data-page=9 class=ts-thumb lazyload alt=Page 9: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails9jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=10Page 10button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page10jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=10 data-page=10 class=ts-thumb lazyload alt=Page 10: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails10jpg width=140 height=200 adivpCachepdivdiv class=ts-pagebutton class=gotoPage data-page=11Page 11button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page11jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=11 data-page=11 class=ts-thumb lazyload alt=Page 11: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails11jpg width=140 height=200 adivpVagrantfilepdivdiv class=ts-pagebutton class=gotoPage data-page=12Page 12button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page12jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=12 data-page=12 class=ts-thumb lazyload alt=Page 12: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails12jpg width=140 height=200 adivpBoxespdivdiv class=ts-pagebutton class=gotoPage data-page=13Page 13button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page13jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=13 data-page=13 class=ts-thumb lazyload alt=Page 13: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails13jpg width=140 height=200 adivpShared folderpdivdiv class=ts-pagebutton class=gotoPage data-page=14Page 14button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page14jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=14 data-page=14 class=ts-thumb lazyload alt=Page 14: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails14jpg width=140 height=200 adivpNFSpdivdiv class=ts-pagebutton class=gotoPage data-page=15Page 15button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page15jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=15 data-page=15 class=ts-thumb lazyload alt=Page 15: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails15jpg width=140 height=200 adivpshell provisionpdivdiv class=ts-pagebutton class=gotoPage data-page=16Page 16button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page16jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=16 data-page=16 class=ts-thumb lazyload alt=Page 16: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails16jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=17Page 17button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page17jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=17 data-page=17 class=ts-thumb lazyload alt=Page 17: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails17jpg width=140 height=200 adivppuppet provisionpdivdiv class=ts-pagebutton class=gotoPage data-page=18Page 18button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page18jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=18 data-page=18 class=ts-thumb lazyload alt=Page 18: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails18jpg width=140 height=200 adivpdefaultpppdivdiv class=ts-pagebutton class=gotoPage data-page=19Page 19button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page19jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=19 data-page=19 class=ts-thumb lazyload alt=Page 19: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails19jpg width=140 height=200 adivppuppet configpdivdiv class=ts-pagebutton class=gotoPage data-page=20Page 20button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page20jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=20 data-page=20 class=ts-thumb lazyload alt=Page 20: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails20jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=21Page 21button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page21jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=21 data-page=21 class=ts-thumb lazyload alt=Page 21: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails21jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=22Page 22button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page22jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=22 data-page=22 class=ts-thumb lazyload alt=Page 22: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails22jpg width=140 height=200 adivplibrarian-puppetpdivdiv class=ts-pagebutton class=gotoPage data-page=23Page 23button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page23jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=23 data-page=23 class=ts-thumb lazyload alt=Page 23: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails23jpg width=140 height=200 adivpPuppetfilepdivdiv class=ts-pagebutton class=gotoPage data-page=24Page 24button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page24jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=24 data-page=24 class=ts-thumb lazyload alt=Page 24: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails24jpg width=140 height=200 adivpdefaultpppdivdiv class=ts-pagebutton class=gotoPage data-page=25Page 25button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page25jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=25 data-page=25 class=ts-thumb lazyload alt=Page 25: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails25jpg width=140 height=200 adivpInstall puppet-librarianpdivdiv class=ts-pagebutton class=gotoPage data-page=26Page 26button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page26jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=26 data-page=26 class=ts-thumb lazyload alt=Page 26: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails26jpg width=140 height=200 adivpProject structurepdivdiv class=ts-pagebutton class=gotoPage data-page=27Page 27button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page27jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=27 data-page=27 class=ts-thumb lazyload alt=Page 27: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails27jpg width=140 height=200 adivpSelf contained dev envpdivdiv class=ts-pagebutton class=gotoPage data-page=28Page 28button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page28jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=28 data-page=28 class=ts-thumb lazyload alt=Page 28: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails28jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=29Page 29button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page29jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=29 data-page=29 class=ts-thumb lazyload alt=Page 29: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails29jpg width=140 height=200 adivpDockerfilepdivdiv class=ts-pagebutton class=gotoPage data-page=30Page 30button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page30jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=30 data-page=30 class=ts-thumb lazyload alt=Page 30: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails30jpg width=140 height=200 adivpbuildpdivdiv class=ts-pagebutton class=gotoPage data-page=31Page 31button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page31jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=31 data-page=31 class=ts-thumb lazyload alt=Page 31: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails31jpg width=140 height=200 adivpimagespdivdiv class=ts-pagebutton class=gotoPage data-page=32Page 32button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page32jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=32 data-page=32 class=ts-thumb lazyload alt=Page 32: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails32jpg width=140 height=200 adivprunpdivdiv class=ts-pagebutton class=gotoPage data-page=33Page 33button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page33jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=33 data-page=33 class=ts-thumb lazyload alt=Page 33: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails33jpg width=140 height=200 adivpRunning containerspdivdiv class=ts-pagebutton class=gotoPage data-page=34Page 34button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page34jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=34 data-page=34 class=ts-thumb lazyload alt=Page 34: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails34jpg width=140 height=200 adivpInstall puppetpdivdiv class=ts-pagebutton class=gotoPage data-page=35Page 35button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page35jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=35 data-page=35 class=ts-thumb lazyload alt=Page 35: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails35jpg width=140 height=200 adivpProject structurepdivdiv class=ts-pagebutton class=gotoPage data-page=36Page 36button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page36jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=36 data-page=36 class=ts-thumb lazyload alt=Page 36: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails36jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=37Page 37button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page37jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=37 data-page=37 class=ts-thumb lazyload alt=Page 37: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails37jpg width=140 height=200 adivpPuppet modulepdivdiv class=ts-pagebutton class=gotoPage data-page=38Page 38button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page38jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=38 data-page=38 class=ts-thumb lazyload alt=Page 38: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails38jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=39Page 39button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page39jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=39 data-page=39 class=ts-thumb lazyload alt=Page 39: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails39jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=40Page 40button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page40jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=40 data-page=40 class=ts-thumb lazyload alt=Page 40: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails40jpg width=140 height=200 adivdivdiv class=ts-pagebutton class=gotoPage data-page=41Page 41button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page41jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=41 data-page=41 class=ts-thumb lazyload alt=Page 41: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails41jpg width=140 height=200 adivpQuestionspdivdiv class=ts-pagebutton class=gotoPage data-page=42Page 42button div class=ts-imagea href=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5page42jpg target=_blank img data-url=puppet-camp-london-2015-puppet-containedhtmlpage=42 data-page=42 class=ts-thumb lazyload alt=Page 42: Puppet Camp London 2015: Puppet Contained loading=lazy src=data:imagegifbase64iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAQAAADYv8WvAAAAD0lEQVR42mP8X8AwAgiABKBAv+vAXklAAAAAElFTkSuQmCC data-src=https:reader040vdocumentsusreader040viewer202203181055b3cf13bb61eb5a3c8b4800html5thumbnails42jpg width=140 height=200 adivpOwen Ben Davieswwwobdukcompdiv