Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 10-19-2015, 12:07 PM   #1
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
PW-3, FW-5.6.1.1, WiFi and OTA updates

Note that these findings **might** apply to only the combination mentioned in the title.

Although they are what are expected for any 5.6.x firmware.

Note: This Kindle is not (yet) registered with my Amazon account.
I.E: Leaving your Kindle un-registered will NOT protect you from OTA updates.

I can't connect via WiFi to my local network without a connection to the Internet

Connect Kindle to PC with USB cable -
At the top of the USB mass storage file system tree (where the 'documents' folder is at) -
Enter the file named:
WIFI_NO_NET_PROBE
All capitals, no extension, no contents.
Be certain if using an O.S. on your PC that hides well known extensions that the file **really, really** does not have an extension!

Now your Kindle can connect to your local network even when your local network does not have a connection to the Internet.

Credits:
https://www.mobileread.com/forums/sho...d.php?t=199951
- - - -
Blocking OTA updates

Ok - next, enable connection to the Internet from your local network.
Note: You must eject from mass storage mode so the Kindle has access to the USB storage area.

Watch lights blink for awhile (there will be some bursts while the Kindle connects to Amazon and transfers your recent logs) -
Then after the communication lights have held steady for awhile -
Disrupt things by switching into airplane mode.

Note, you may have to tap the 'sync and check for new items' settings option to trigger things.
Note, there is a re-try counter on the OTA updater so it doesn't get hung in a failing download loop - so you have to capture this information on the first try (of the day).

Reconnect the USB cable and discover (attachment 1).

A PW-3 on 5.6.1.1 is really hungry for a copy of 5.6.5

Delete the partially downloaded update file and create a directory of the same name.
See attachment 2.

Eject the Kindle storage, remove the USB cable, allow it to access the network again for a short while.
Then:
home -> search -> ;dm
(the semi-colon is part of the command: "dump messages")

**NOW** re-connect the USB cable so you can access user storage again.
In the system logs (which you just created) you will find things like this:
Code:
151019:152149 tmd[2525]: I def:malloc_trim:ret=1:end
151019:152149 tmd[2525]: I tq_mh:memory_reclaimed_trim:before=6952, after=6940, reclaimed=12:

151019:152149 OTAController[2489]: I ReleaseNotesDownloaderImpl:download:release notes already downloaded:
151019:152149 OTAController[2489]: E OSDownloaderImpl:updateDownloadCountExceeded:Failed to load conf file:Error:No such file or directory

151019:152150 tmd[2525]: I request_download:received:id=203,pri=1800,pc=,net=wifi,at=152150.80:
151019:152150 tmd[2525]: W qmgr:fopen_to_write:id=203,path=---,err=Is a directory(21):
151019:152150 tmd[2525]: I conutils:conEnsureConnectionInternal::setting cmd property

151019:152150 cmd[2472]: I def:req::Got a connection request:~:
151019:152150 tmd[2525]: I start_transfer:starting:id=203,dir=down,pri=1800,qpos=0 of 1,net=wifi,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
151019:152150 rcm_main[2487]: I refreshcache:tryRefreshCacheRun:status=16:Unable to lock mutex
151019:152150 tmd[2525]: I conutils:conEnsureConnectionResponse::response=0

*****
151019:152150 tmd[2525]: E qmgr:fopen_to_write:id = 203, path = ---, err = Is a directory (21):
***** (oh too bad, sorry about that)

151019:152150 tmd[2525]: W metrics:sync_error:id = 203 last=(tmd) recent start transfer (10),curr=(tmd) data end (19):
151019:152150 tmd[2525]: I end_transfer:FAILED:id=203,dir=down,pri=1800,net=wifi,on=wifi,curl=0,err=8,srv=200,try=1,resumes=0,declines=0,flags=515,mm=resolving,did=-1 (0+-1) of -1:
151019:152150 tmd[2525]: I rate_stats1:FAILED:id=203,t1_tmdreq=@152150.80,t2_enq=3ms,t3_actv=3ms,t4_hprt1=0ms,t5_hprt=@152150.81,t6_hpet1=7ms,t7_hpet=@152150.82,t8_start1=@152150.82,t9_start=@152150.82,t10_start=0ms,t11_work=0ms,t12_dns=0ms,t13_conn=0ms,t14_ssl=0ms,t15_reqsent=0ms,t16_respst=0ms,t17_eoh=0ms,t18_dstart=0ms,t19_dend=65ms,t20_end=@152150.88,try=1:
151019:152150 tmd[2525]: I rate_stats2:FAILED:id=203,session_time=65ms,chunk_time=65ms,chunk_len=-1 of -1,adj_len=-1,session_rate=0 B/sec,chunk_rate=0 B/sec,overall=0s,active=0s,lost=0s,type=(unknown),start_wss=-1,end_wss=-1,c1_redir=0ms,c2_dns=0ms,c3_conn=0ms,c4_ssl=0ms,c5_pret=0ms,c6_dstart=0ms,c7_dend=0ms,c8_total=0ms,try=1,mcc=,mnc=:

*****
151019:152150 tmd[2525]: I moreinfo:FAILED:id=203,curl=0 "No error",err=8 (The local file path is on a currently inaccessible filesystem):
***** (Kindle can't access USB storage while its in use by the pc)

151019:152150 OTAController[2489]: E OSTransferListenerImpl:onProgress:transferFailed:error_code=8
151019:152150 tmd[2525]: I obliterate:request_received:id=203:
151019:152150 tmd[2525]: I end_transfer:FAILED:id=203,dir=down,pri=1800,net=wifi,on=wifi,curl=0,err=8,srv=200,try=1,resumes=0,declines=0,flags=515,mm=resolving,did=-1 (0+-1) of -1:
151019:152150 tmd[2525]: I rate_stats1:FAILED:id=203,t1_tmdreq=@152150.80,t2_enq=3ms,t3_actv=3ms,t4_hprt1=0ms,t5_hprt=@152150.81,t6_hpet1=7ms,t7_hpet=@152150.82,t8_start1=@152150.82,t9_start=@152150.82,t10_start=0ms,t11_work=0ms,t12_dns=0ms,t13_conn=0ms,t14_ssl=0ms,t15_reqsent=0ms,t16_respst=0ms,t17_eoh=0ms,t18_dstart=0ms,t19_dend=65ms,t20_end=@152150.88,try=1:
151019:152150 tmd[2525]: I rate_stats2:FAILED:id=203,session_time=65ms,chunk_time=65ms,chunk_len=-1 of -1,adj_len=-1,session_rate=0 B/sec,chunk_rate=0 B/sec,overall=0s,active=0s,lost=0s,type=(unknown),start_wss=-1,end_wss=-1,c1_redir=0ms,c2_dns=0ms,c3_conn=0ms,c4_ssl=0ms,c5_pret=0ms,c6_dstart=0ms,c7_dend=0ms,c8_total=0ms,try=1,mcc=,mnc=:
151019:152150 tmd[2525]: I moreinfo:FAILED:id=203,curl=0 "No error",err=8 (The local file path is on a currently inaccessible filesystem):
151019:152150 rcm_main[2487]: I refreshcache:trySortClients:status=16:Unable to lock mutex
151019:152150 OTAController[2489]: W TransferStatusProcessorImpl:handleTransferStatusFailed:transfer_id=203:TransferListener not found, not calling onProgress
Attached Thumbnails
Click image for larger version

Name:	OTA-PW3.png
Views:	454
Size:	56.7 KB
ID:	142970   Click image for larger version

Name:	ota-pw3-block-1.png
Views:	447
Size:	58.8 KB
ID:	142971  

Last edited by knc1; 10-20-2015 at 08:37 AM.
knc1 is offline   Reply With Quote
Old 10-19-2015, 06:53 PM   #2
Branch Delay
Connoisseur
Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.Branch Delay ought to be getting tired of karma fortunes by now.
 
Posts: 95
Karma: 1699999
Join Date: Aug 2015
Device: Voyage
Good stuff. I'll definitely test this once the new update drops.
Branch Delay is offline   Reply With Quote
Advert
Old 10-27-2015, 05:18 PM   #3
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Transfer priorities

The transfer managing daemon handles prioritized transfers.

The lower number is serviced first:
Spoiler:

Code:
+151027:144934 tmd[2525]: I start_transfer:starting:id=218,dir=up,pri=1600,qpos=0 of 4,net=wan,on=wifi,was=DEFERRED,defby=NETWORK_DOWN,try=1,ceh=0x43a70ce0:
+151027:144940 tmd[2525]: I start_transfer:starting:id=219,dir=up,pri=1600,qpos=0 of 3,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144941 tmd[2525]: I start_transfer:starting:id=220,dir=down,pri=600,qpos=0 of 4,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:144941 tmd[2525]: I start_transfer:starting:id=223,dir=down,pri=600,qpos=1 of 7,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43ab70a0:
+151027:144943 tmd[2525]: I start_transfer:starting:id=221,dir=down,pri=600,qpos=0 of 6,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144943 tmd[2525]: I start_transfer:starting:id=224,dir=down,pri=600,qpos=1 of 6,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43ab70a0:
+151027:144945 tmd[2525]: I start_transfer:starting:id=222,dir=down,pri=1200,qpos=0 of 4,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144946 tmd[2525]: I start_transfer:starting:id=225,dir=down,pri=200,qpos=0 of 5,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:144947 tmd[2525]: I start_transfer:starting:id=231,dir=down,pri=1000,qpos=0 of 10,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:144948 tmd[2525]: I start_transfer:starting:id=232,dir=down,pri=200,qpos=0 of 11,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:144949 tmd[2525]: I start_transfer:starting:id=231,dir=down,pri=1000,qpos=0 of 10,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=2,ceh=0x43a70ce0:
+151027:144950 tmd[2525]: I start_transfer:starting:id=226,dir=down,pri=1050,qpos=0 of 14,net=wifi,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144950 tmd[2525]: I start_transfer:starting:id=238,dir=down,pri=1000,qpos=0 of 15,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:144950 tmd[2525]: I start_transfer:starting:id=239,dir=down,pri=1000,qpos=0 of 15,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:144951 tmd[2525]: I start_transfer:starting:id=226,dir=down,pri=1050,qpos=0 of 14,net=wifi,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=2,ceh=0x43a70ce0:
+151027:144951 tmd[2525]: I start_transfer:starting:id=233,dir=down,pri=1050,qpos=0 of 13,net=wifi,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144953 tmd[2525]: I start_transfer:starting:id=227,dir=down,pri=1100,qpos=0 of 12,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144953 tmd[2525]: I start_transfer:starting:id=228,dir=down,pri=1100,qpos=0 of 11,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144954 tmd[2525]: I start_transfer:starting:id=229,dir=down,pri=1100,qpos=0 of 10,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144954 tmd[2525]: I start_transfer:starting:id=240,dir=down,pri=100,qpos=0 of 11,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:144955 tmd[2525]: I start_transfer:starting:id=229,dir=down,pri=1100,qpos=0 of 10,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=2,ceh=0x43a70ce0:
+151027:144955 tmd[2525]: I start_transfer:starting:id=230,dir=down,pri=1100,qpos=0 of 9,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144955 tmd[2525]: I start_transfer:starting:id=234,dir=down,pri=1100,qpos=0 of 8,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144956 tmd[2525]: I start_transfer:starting:id=235,dir=down,pri=1100,qpos=0 of 7,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144956 tmd[2525]: I start_transfer:starting:id=236,dir=down,pri=1100,qpos=0 of 6,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144957 tmd[2525]: I start_transfer:starting:id=237,dir=down,pri=1100,qpos=0 of 5,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144957 tmd[2525]: I start_transfer:starting:id=222,dir=down,pri=1200,qpos=0 of 4,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=2,ceh=0x43a70ce0:
+151027:144958 tmd[2525]: I start_transfer:starting:id=219,dir=up,pri=1600,qpos=0 of 3,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=2,ceh=0x43a70ce0:
+151027:144958 tmd[2525]: I start_transfer:starting:id=241,dir=down,pri=1200,qpos=0 of 4,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:144958 tmd[2525]: I start_transfer:starting:id=219,dir=up,pri=1600,qpos=0 of 3,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=3,ceh=0x43a70ce0:
+151027:144959 tmd[2525]: I start_transfer:starting:id=216,dir=up,pri=1700,qpos=0 of 2,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:144959 tmd[2525]: I start_transfer:starting:id=242,dir=up,pri=1600,qpos=0 of 3,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:144959 tmd[2525]: I start_transfer:starting:id=216,dir=up,pri=1700,qpos=0 of 2,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=2,ceh=0x43a70ce0:
+151027:145000 tmd[2525]: I start_transfer:starting:id=217,dir=down,pri=1800,qpos=0 of 1,net=wan,on=wifi,was=DEFERRED,defby=HIGHER_PRIORITY_REQUEST,try=1,ceh=0x43a70ce0:
+151027:145000 tmd[2525]: I start_transfer:starting:id=243,dir=down,pri=1800,qpos=0 of 1,net=wifi,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:


Books on-order are transfered with PRI=600
Spoiler:

Code:
+151027:144941 tmd[2525]: I request_download:received:id=223,pri=600,pc=ContentTransfer:B00GCIN0OM_EBOK,net=wan,at=194941.83:
+151027:144941 tmd[2525]: I start_transfer:starting:id=223,dir=down,pri=600,qpos=1 of 7,net=wan,on=wifi,was=WAITING,try=1,ceh=0x43ab70a0:
+151027:144942 tmd[2525]: I header:list:id=223,headers={:RESPONSE::HTTP/1.1 200 OK},{Content-Length:8579},{Content-Type:application/json},{Date:Tue, 27 Oct 2015 19:49:42 GMT}:
+151027:144942 tmd[2525]: I end_transfer:COMPLETED:id=223,dir=down,pri=600,net=wan,on=wifi,curl=0,srv=200,try=1,resumes=0,declines=0,mm=receiving_body,len=8579,saved=0:
+151027:144942 tmd[2525]: I rate_stats1:COMPLETED:id=223,t1_tmdreq=@194941.83,t2_enq=28ms,t3_actv=4ms,t4_hprt1=0ms,t5_hprt=@194941.87,t6_hpet1=19ms,t7_hpet=@194941.88,t8_start1=@194941.88,t9_start=@194941.88,t10_start=0ms,t11_work=254ms,t12_dns=60ms,t13_conn=90ms,t14_ssl=200ms,t15_reqsent=1ms,t16_respst=374ms,t17_eoh=0ms,t18_dstart=12ms,t19_dend=14ms,t20_end=@194942.89,try=1:
+151027:144942 tmd[2525]: I rate_stats2:COMPLETED:id=223,session_time=1008ms,chunk_time=14ms,chunk_len=8579 of 8579,adj_len=2579,session_rate=2558 B/sec,chunk_rate=184214 B/sec,overall=1s,active=1s,lost=0s,type=(unknown),start_wss=-1,end_wss=-1,c1_redir=0ms,c2_dns=36ms,c3_conn=90ms,c4_ssl=200ms,c5_pret=1ms,c6_dstart=374ms,c7_dend=27ms,c8_total=729ms,try=1,mcc=,mnc=:


Updates are transfered with PRI=1800:
Spoiler:

Code:
+151027:145000 tmd[2525]: I request_download:received:id=243,pri=1800,pc=,net=wifi,at=195000.04:
+151027:145000 tmd[2525]: W qmgr:fopen_to_write:id=243,path=---,err=Is a directory(21):
+151027:145000 tmd[2525]: I start_transfer:starting:id=243,dir=down,pri=1800,qpos=0 of 1,net=wifi,on=wifi,was=WAITING,try=1,ceh=0x43a70ce0:
+151027:145000 tmd[2525]: I end_transfer:FAILED:id=243,dir=down,pri=1800,net=wifi,on=wifi,curl=0,err=8,srv=200,try=1,resumes=0,declines=0,flags=515,mm=resolving,did=-1 (0+-1) of -1:
+151027:145000 tmd[2525]: I rate_stats1:FAILED:id=243,t1_tmdreq=@195000.04,t2_enq=7ms,t3_actv=7ms,t4_hprt1=395ms,t5_hprt=@195000.45,t6_hpet1=17ms,t7_hpet=@195000.47,t8_start1=@195000.48,t9_start=@195000.48,t10_start=6ms,t11_work=0ms,t12_dns=0ms,t13_conn=0ms,t14_ssl=0ms,t15_reqsent=0ms,t16_respst=0ms,t17_eoh=0ms,t18_dstart=0ms,t19_dend=8ms,t20_end=@195000.49,try=1:
+151027:145000 tmd[2525]: I rate_stats2:FAILED:id=243,session_time=8ms,chunk_time=8ms,chunk_len=-1 of -1,adj_len=-1,session_rate=0 B/sec,chunk_rate=0 B/sec,overall=0s,active=0s,lost=0s,type=(unknown),start_wss=-1,end_wss=-1,c1_redir=0ms,c2_dns=0ms,c3_conn=0ms,c4_ssl=0ms,c5_pret=0ms,c6_dstart=0ms,c7_dend=0ms,c8_total=0ms,try=1,mcc=,mnc=:
+151027:145000 tmd[2525]: I moreinfo:FAILED:id=243,curl=0 "No error",err=8 (The local file path is on a currently inaccessible filesystem):
+151027:145000 tmd[2525]: I obliterate:request_received:id=243:
+151027:145000 tmd[2525]: E dequeue:notfound:id = 243:
+151027:145009 tmd[2525]: I def:malloc_trim::start
+151027:145009 tmd[2525]: I def:malloc_trim:ret=1:end
+151027:145009 tmd[2525]: I tq_mh:memory_reclaimed:before=7124, after=6736, reclaimed=388:
## next id ##
+151027:145034 tmd[2525]: I request_upload:received:id=244,pri=1700,pc=,net=wan,at=195034.19:


There are a surprising number of things being transfered, and many of them use different priorities than these two shown.

The transfer manager is running multiple, concurrent, transfers (in both directions at times).
Its a pretty sophisticated daemon.

= = = =

Almost bottom line -
The system will **usually** download your books before downloading a pending update.

**usually**

If there is an available thread and no higher priority transfers **to start** (even though the higher priorities have not yet completed), it will start downloading the pending update.

Bottom line -
Even War and Peace (I have a Kindle copy) is smaller than an update.
Your book downloads should beat the update download, even if they run concurrently (which they can).

But that is not a guarantee.
If your book is on a very slow server in the Amazon cluster -
and
Your update is on a very fast server in the Amazon cluster -

Your screwed.

So side-load your books.

Last edited by knc1; 10-27-2015 at 05:23 PM.
knc1 is offline   Reply With Quote
Old 10-27-2015, 05:52 PM   #4
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
Or at least, only connect for less time than it takes an update to download -- and if that book doesn't download, bail the heck out and just sideload it.

Of course, as I said in the other thread, sideloading is a perfectly adequate solution, so why risk even marginal chances of getting hit by an OTA?

It is a mere assumption (a fairly safe one, but still) that updates will continue to be in the hundreds of MB.
eschwartz is offline   Reply With Quote
Old 10-28-2015, 01:13 AM   #5
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
One of the interesting things left behind on USB storage:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<response syncType="update" encryptedFionaAccountId="XXXXXXXXXXXXX">
  <sync_time>2015-10-27T19:49:58+0000;softwareVersion:2634130033;SE:T;SC:F;ST:KB-15000000000054,Periodical-1445975398748,</sync_time>
  <annotation_sync_status>0</annotation_sync_status>
  <min_sync_metadata_request_interval>300</min_sync_metadata_request_interval>
  <min_todo_item_request_interval>300</min_todo_item_request_interval>
  <log_upload_status>0</log_upload_status>
  <collection_upload_interval_secs>45</collection_upload_interval_secs>
  <add_update_list/>
  <removal_list/>
</response>
knc1 is offline   Reply With Quote
Advert
Old 10-28-2015, 11:33 AM   #6
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
My couple days of browsing log files (on a non-jailbroken PW-3) left me thinking that my Kindle was sharing a lot more information with Amazon than I like.

[rant]
Not news, I have been upset since I posted my Chatty Kathy thread.
[/rant]

The browsing of log files plus using a disk forensics program on the USB storage area gave me a new "break it or fix it" idea.

Some things are discovering if the USB storage area is writable by doing a test write to it, followed immediately by a delete of the test filename.
Crude, but effective, at least until now.

  • Connect Kindle to PC with USB cable
  • At the top level (next to the 'documents' directory) create a directory with the name:
    testWrite.txt
    Use exactly that name, exactly that capitalization and extension.
  • Enter the just made testWrite.txt directory
  • Create an empty, hidden, file with the name:
    .keep
    Use exactly that name.
  • Set that name to 'read-only'
  • Return to the top level directory
  • Set the testWrite.txt directory to read-only


Surprise, surprise, that does not break the Kindle. (I really thought it would).

Things that are transferred by cvm still get transfered.
**BUT**
Things that are transferred by tmd (transfer manager daemon) are not transfered.
tmd errors out with 'file system not writable' whenever it tries to setup a transfer (either upload or download).
duh, stupid software.

Enjoy your new privacy.
The system no longer can upload your log files, reading metrics, ps-info on what processes are running, etc, etc, etc.

BIG IMPORTANT NOTE
Do not rely on this as your sole protection against OTA updates!
At least not until people have a chance to test what this prohibits and what it allows.

Just use this in addition to the other user storage entries mentioned in this thread.

in honor of #83 83

Last edited by knc1; 10-28-2015 at 04:00 PM.
knc1 is offline   Reply With Quote
Old 10-28-2015, 03:55 PM   #7
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Correction:
Books in your 'cloud' can still be downloaded, indexed, read, reading metrics remembered, last position remembered, dictionary look-ups performed.

Not sure what else still works or what all has been blocked.

I do know for certain that I haven't seen anything 'id=xxx', 'dir=up' in the logs from tmd yet.

The Whispersync features are evidently all handled by cvm threads.
knc1 is offline   Reply With Quote
Old 10-29-2015, 08:43 AM   #8
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Timestamp to Human

The conversion (in this example, 151027.000000 seconds, with TZ from the machine the command is being run on) is:
Code:
$ date -d @151027 +"%F %T %z"
1970-01-02 11:57:07 -0600
knc1 is offline   Reply With Quote
Old 10-29-2015, 11:47 AM   #9
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Mysteries - *.phl

Def: Popular HighLights
gzip'd xml, for instance:
Code:
<popular update_id="9" timestamp="2015-10-13 04:15:46">
<content version="0" guid="CR!HPV0EY2C7H6FF41BF1QW7SKCD3MN:D8E1CE67" key="B00LODPL06" type="EBOK">
<annotation type="popular_highlight" num_users="8" end_pos="168009" start_pos="167442"/>
<annotation type="popular_highlight" num_users="6" end_pos="244469" start_pos="244140"/>
<annotation type="popular_highlight" num_users="16" end_pos="310510" start_pos="310231"/>
<annotation type="popular_highlight" num_users="30" end_pos="310590" start_pos="310511"/>
<annotation type="popular_highlight" num_users="35" end_pos="310993" start_pos="310591"/>
<annotation type="popular_highlight" num_users="43" end_pos="311389" start_pos="311205"/>
<annotation type="popular_highlight" num_users="5" end_pos="775936" start_pos="775857"/>
<annotation type="popular_highlight" num_users="16" end_pos="1181296" start_pos="1181213"/>
<annotation type="popular_highlight" num_users="31" end_pos="1181576" start_pos="1181422"/>
<annotation type="popular_highlight" num_users="16" end_pos="1182514" start_pos="1182412"/>
</content>
</popular>
knc1 is offline   Reply With Quote
Old 10-29-2015, 11:55 AM   #10
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Mysteries - *.asc

Def? Amazon Sales Code?
Minimized json, as in 'EndActions.data.<asin>.asc:
PHP Code:
&#65279;{
  
"bookInfo": {
    
"class""bookInfo",
    
"asin""B00LODPL06",
    
"contentType""EBOK",
    
"timestamp"1445975397394,
    
"refTagSuffix""AAELAAB",
    
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/61HttyjCBkL.jpg",
    
"embeddedID""CR!HPV0EY2C7H6FF41BF1QW7SKCD3MN:D8E1CE67",
    
"erl"1190012
  
},
  
"widgets": [
    {
      
"id""ratingAndReviewWidget",
      
"class""rateAndReview",
      
"metricsTag""rr"
    
},
    {
      
"id""sharingWidget",
      
"class""sharing",
      
"metricsTag""sh"
    
},
    {
      
"id""ratingAndSharingWidget",
      
"class""ratingAndSharing",
      
"metricsTag""rsh"
    
},
    {
      
"id""authorRecsListWidgetWithTitle",
      
"metricsTag""rat",
      
"options": {
        
"dataKey""authorRecs",
        
"refTagPartial""r_a"
      
},
      
"class""list",
      
"strings": {
        
"title": {
          
"de""Mehr von %{authorList}",
          
"en""More by %{authorList}",
          
"en-US""More by %{authorList}",
          
"es""M\u00e1s de %{authorList}",
          
"fr""Autres livres de %{authorList}",
          
"it""Altri di %{authorList}",
          
"ja""%{authorList}\u306e\u305d\u306e\u4ed6\u306e\u672c",
          
"nl""Meer van %{authorList}",
          
"pt-BR""Mais por %{authorList}",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 %{authorList}",
          
"zh-CN""\u66f4\u591a%{authorList}\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""authorRecsShovelerWidgetWithTitlePlaceholders",
      
"metricsTag""ratn",
      
"options": {
        
"dataKey""authorRecs",
        
"refTagPartial""r_a"
      
},
      
"class""shoveler",
      
"strings": {
        
"title": {
          
"de""Mehr von %{authorList}",
          
"en""More by %{authorList}",
          
"en-US""More by %{authorList}",
          
"es""M\u00e1s de %{authorList}",
          
"fr""Autres livres de %{authorList}",
          
"it""Altri di %{authorList}",
          
"ja""%{authorList}\u306e\u305d\u306e\u4ed6\u306e\u672c",
          
"nl""Meer van %{authorList}",
          
"pt-BR""Mais por %{authorList}",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 %{authorList}",
          
"zh-CN""\u66f4\u591a%{authorList}\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""authorRecsBookGridWidgetWithTitleBuyInStore",
      
"metricsTag""rat",
      
"options": {
        
"dataKey""authorRecs",
        
"buyInStore"true,
        
"buyButtonVisible"true,
        
"refTagPartial""r_a"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Mehr von %{authorList}",
          
"en""More by %{authorList}",
          
"en-US""More by %{authorList}",
          
"es""M\u00e1s de %{authorList}",
          
"fr""Autres livres de %{authorList}",
          
"it""Altri di %{authorList}",
          
"ja""%{authorList}\u306e\u305d\u306e\u4ed6\u306e\u672c",
          
"nl""Meer van %{authorList}",
          
"pt-BR""Mais por %{authorList}",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 %{authorList}",
          
"zh-CN""\u66f4\u591a%{authorList}\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""authorRecsBookGridWidgetWithTitleBuyInApp",
      
"metricsTag""rat",
      
"options": {
        
"dataKey""authorRecs",
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"refTagPartial""r_a"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Mehr von %{authorList}",
          
"en""More by %{authorList}",
          
"en-US""More by %{authorList}",
          
"es""M\u00e1s de %{authorList}",
          
"fr""Autres livres de %{authorList}",
          
"it""Altri di %{authorList}",
          
"ja""%{authorList}\u306e\u305d\u306e\u4ed6\u306e\u672c",
          
"nl""Meer van %{authorList}",
          
"pt-BR""Mais por %{authorList}",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 %{authorList}",
          
"zh-CN""\u66f4\u591a%{authorList}\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""authorRecsBookGridWidgetWithTitleBuyButtonNotVisible",
      
"metricsTag""rat",
      
"options": {
        
"dataKey""authorRecs",
        
"buyInStore"true,
        
"buyButtonVisible"false,
        
"refTagPartial""r_a"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Mehr von %{authorList}",
          
"en""More by %{authorList}",
          
"en-US""More by %{authorList}",
          
"es""M\u00e1s de %{authorList}",
          
"fr""Autres livres de %{authorList}",
          
"it""Altri di %{authorList}",
          
"ja""%{authorList}\u306e\u305d\u306e\u4ed6\u306e\u672c",
          
"nl""Meer van %{authorList}",
          
"pt-BR""Mais por %{authorList}",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 %{authorList}",
          
"zh-CN""\u66f4\u591a%{authorList}\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""customerRecsListWidgetWithTitle",
      
"metricsTag""rpt",
      
"options": {
        
"dataKey""customersWhoBoughtRecs",
        
"refTagPartial""r_p"
      
},
      
"class""list",
      
"strings": {
        
"title": {
          
"de""Kunden, die dieses Buch gekauft haben, kauften auch",
          
"en""Customers who bought this book also bought",
          
"en-US""Customers who bought this book also bought",
          
"es""Los clientes que compraron este libro tambi\u00e9n compraron",
          
"fr""Les clients ayant achet\u00e9 ce livre ont \u00e9galement achet\u00e9",
          
"it""I clienti che hanno acquistato questo libro hanno acquistato anche",
          
"ja""\u3053\u306e\u672c\u3092\u8cb7\u3063\u305f\u4eba\u306f\u3053\u3093\u306a\u5546\u54c1\u3082\u8cb7\u3063\u3066\u3044\u307e\u3059",
          
"nl""Klanten die dit boek kochten, kochten ook",
          
"pt-BR""Clientes que compraram este eBook tamb\u00e9m compraram",
          
"ru""\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0435 \u044d\u0442\u0443 \u043a\u043d\u0438\u0433\u0443, \u0442\u0430\u043a\u0436\u0435 \u043a\u0443\u043f\u0438\u043b\u0438",
          
"zh-CN""\u8d2d\u4e70\u672c\u4e66\u7684\u987e\u5ba2\u8fd8\u4e70\u8fc7"
        
}
      }
    },
    {
      
"id""customerRecsShovelerWidgetWithTitle",
      
"metricsTag""rpt",
      
"options": {
        
"dataKey""customersWhoBoughtRecs",
        
"refTagPartial""r_p"
      
},
      
"class""shoveler",
      
"strings": {
        
"title": {
          
"de""Kunden, die dieses Buch gekauft haben, kauften auch",
          
"en""Customers who bought this book also bought",
          
"en-US""Customers who bought this book also bought",
          
"es""Los clientes que compraron este libro tambi\u00e9n compraron",
          
"fr""Les clients ayant achet\u00e9 ce livre ont \u00e9galement achet\u00e9",
          
"it""I clienti che hanno acquistato questo libro hanno acquistato anche",
          
"ja""\u3053\u306e\u672c\u3092\u8cb7\u3063\u305f\u4eba\u306f\u3053\u3093\u306a\u5546\u54c1\u3082\u8cb7\u3063\u3066\u3044\u307e\u3059",
          
"nl""Klanten die dit boek kochten, kochten ook",
          
"pt-BR""Clientes que compraram este eBook tamb\u00e9m compraram",
          
"ru""\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0435 \u044d\u0442\u0443 \u043a\u043d\u0438\u0433\u0443, \u0442\u0430\u043a\u0436\u0435 \u043a\u0443\u043f\u0438\u043b\u0438",
          
"zh-CN""\u8d2d\u4e70\u672c\u4e66\u7684\u987e\u5ba2\u8fd8\u4e70\u8fc7"
        
}
      }
    },
    {
      
"id""customerRecsBookGridWidgetWithTitleBuyInStore",
      
"metricsTag""rpt",
      
"options": {
        
"dataKey""customersWhoBoughtRecs",
        
"buyInStore"true,
        
"buyButtonVisible"true,
        
"refTagPartial""r_p"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Kunden, die dieses Buch gekauft haben, kauften auch",
          
"en""Customers who bought this book also bought",
          
"en-US""Customers who bought this book also bought",
          
"es""Los clientes que compraron este libro tambi\u00e9n compraron",
          
"fr""Les clients ayant achet\u00e9 ce livre ont \u00e9galement achet\u00e9",
          
"it""I clienti che hanno acquistato questo libro hanno acquistato anche",
          
"ja""\u3053\u306e\u672c\u3092\u8cb7\u3063\u305f\u4eba\u306f\u3053\u3093\u306a\u5546\u54c1\u3082\u8cb7\u3063\u3066\u3044\u307e\u3059",
          
"nl""Klanten die dit boek kochten, kochten ook",
          
"pt-BR""Clientes que compraram este eBook tamb\u00e9m compraram",
          
"ru""\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0435 \u044d\u0442\u0443 \u043a\u043d\u0438\u0433\u0443, \u0442\u0430\u043a\u0436\u0435 \u043a\u0443\u043f\u0438\u043b\u0438",
          
"zh-CN""\u8d2d\u4e70\u672c\u4e66\u7684\u987e\u5ba2\u8fd8\u4e70\u8fc7"
        
}
      }
    },
    {
      
"id""customerRecsBookGridWidgetWithTitleBuyInApp",
      
"metricsTag""rpt",
      
"options": {
        
"dataKey""customersWhoBoughtRecs",
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"refTagPartial""r_p"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Kunden, die dieses Buch gekauft haben, kauften auch",
          
"en""Customers who bought this book also bought",
          
"en-US""Customers who bought this book also bought",
          
"es""Los clientes que compraron este libro tambi\u00e9n compraron",
          
"fr""Les clients ayant achet\u00e9 ce livre ont \u00e9galement achet\u00e9",
          
"it""I clienti che hanno acquistato questo libro hanno acquistato anche",
          
"ja""\u3053\u306e\u672c\u3092\u8cb7\u3063\u305f\u4eba\u306f\u3053\u3093\u306a\u5546\u54c1\u3082\u8cb7\u3063\u3066\u3044\u307e\u3059",
          
"nl""Klanten die dit boek kochten, kochten ook",
          
"pt-BR""Clientes que compraram este eBook tamb\u00e9m compraram",
          
"ru""\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0435 \u044d\u0442\u0443 \u043a\u043d\u0438\u0433\u0443, \u0442\u0430\u043a\u0436\u0435 \u043a\u0443\u043f\u0438\u043b\u0438",
          
"zh-CN""\u8d2d\u4e70\u672c\u4e66\u7684\u987e\u5ba2\u8fd8\u4e70\u8fc7"
        
}
      }
    },
    {
      
"id""customerRecsBookGridWidgetWithTitleBuyButtonNotVisible",
      
"metricsTag""rpt",
      
"options": {
        
"dataKey""customersWhoBoughtRecs",
        
"buyInStore"true,
        
"buyButtonVisible"false,
        
"refTagPartial""r_p"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Kunden, die dieses Buch gekauft haben, kauften auch",
          
"en""Customers who bought this book also bought",
          
"en-US""Customers who bought this book also bought",
          
"es""Los clientes que compraron este libro tambi\u00e9n compraron",
          
"fr""Les clients ayant achet\u00e9 ce livre ont \u00e9galement achet\u00e9",
          
"it""I clienti che hanno acquistato questo libro hanno acquistato anche",
          
"ja""\u3053\u306e\u672c\u3092\u8cb7\u3063\u305f\u4eba\u306f\u3053\u3093\u306a\u5546\u54c1\u3082\u8cb7\u3063\u3066\u3044\u307e\u3059",
          
"nl""Klanten die dit boek kochten, kochten ook",
          
"pt-BR""Clientes que compraram este eBook tamb\u00e9m compraram",
          
"ru""\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0435 \u044d\u0442\u0443 \u043a\u043d\u0438\u0433\u0443, \u0442\u0430\u043a\u0436\u0435 \u043a\u0443\u043f\u0438\u043b\u0438",
          
"zh-CN""\u8d2d\u4e70\u672c\u4e66\u7684\u987e\u5ba2\u8fd8\u4e70\u8fc7"
        
}
      }
    },
    {
      
"id""citationRecsListWidgetWithTitle",
      
"metricsTag""rct",
      
"options": {
        
"dataKey""citationRecs",
        
"refTagPartial""r_c"
      
},
      
"class""list",
      
"strings": {
        
"title": {
          
"de""In diesem Buch erw\u00e4hnt",
          
"en""Mentioned in this book",
          
"en-US""Mentioned in this book",
          
"es""Mencionado en este libro",
          
"fr""Mentionn\u00e9s dans ce livre",
          
"it""Menzionati in questo libro",
          
"ja""\u3053\u306e\u4f5c\u54c1\u306b\u51fa\u3066\u304f\u308b\u672c",
          
"nl""Genoemd in dit boek",
          
"pt-BR""Mencionado neste eBook",
          
"ru""\u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435",
          
"zh-CN""\u672c\u4e66\u63d0\u53ca\u7684"
        
}
      }
    },
    {
      
"id""citationRecsShovelerWidgetWithTitle",
      
"metricsTag""rct",
      
"options": {
        
"dataKey""citationRecs",
        
"refTagPartial""r_c"
      
},
      
"class""shoveler",
      
"strings": {
        
"title": {
          
"de""In diesem Buch erw\u00e4hnt",
          
"en""Mentioned in this book",
          
"en-US""Mentioned in this book",
          
"es""Mencionado en este libro",
          
"fr""Mentionn\u00e9s dans ce livre",
          
"it""Menzionati in questo libro",
          
"ja""\u3053\u306e\u4f5c\u54c1\u306b\u51fa\u3066\u304f\u308b\u672c",
          
"nl""Genoemd in dit boek",
          
"pt-BR""Mencionado neste eBook",
          
"ru""\u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435",
          
"zh-CN""\u672c\u4e66\u63d0\u53ca\u7684"
        
}
      }
    },
    {
      
"id""citationRecsBookGridWidgetWithTitleBuyInStore",
      
"metricsTag""rct",
      
"options": {
        
"dataKey""citationRecs",
        
"buyInStore"true,
        
"buyButtonVisible"true,
        
"refTagPartial""r_c"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""In diesem Buch erw\u00e4hnt",
          
"en""Mentioned in this book",
          
"en-US""Mentioned in this book",
          
"es""Mencionado en este libro",
          
"fr""Mentionn\u00e9s dans ce livre",
          
"it""Menzionati in questo libro",
          
"ja""\u3053\u306e\u4f5c\u54c1\u306b\u51fa\u3066\u304f\u308b\u672c",
          
"nl""Genoemd in dit boek",
          
"pt-BR""Mencionado neste eBook",
          
"ru""\u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435",
          
"zh-CN""\u672c\u4e66\u63d0\u53ca\u7684"
        
}
      }
    },
    {
      
"id""citationRecsBookGridWidgetWithTitleBuyInApp",
      
"metricsTag""rct",
      
"options": {
        
"dataKey""citationRecs",
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"refTagPartial""r_c"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""In diesem Buch erw\u00e4hnt",
          
"en""Mentioned in this book",
          
"en-US""Mentioned in this book",
          
"es""Mencionado en este libro",
          
"fr""Mentionn\u00e9s dans ce livre",
          
"it""Menzionati in questo libro",
          
"ja""\u3053\u306e\u4f5c\u54c1\u306b\u51fa\u3066\u304f\u308b\u672c",
          
"nl""Genoemd in dit boek",
          
"pt-BR""Mencionado neste eBook",
          
"ru""\u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435",
          
"zh-CN""\u672c\u4e66\u63d0\u53ca\u7684"
        
}
      }
    },
    {
      
"id""citationRecsBookGridWidgetWithTitleBuyButtonNotVisible",
      
"metricsTag""rct",
      
"options": {
        
"dataKey""citationRecs",
        
"buyInStore"true,
        
"buyButtonVisible"false,
        
"refTagPartial""r_c"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""In diesem Buch erw\u00e4hnt",
          
"en""Mentioned in this book",
          
"en-US""Mentioned in this book",
          
"es""Mencionado en este libro",
          
"fr""Mentionn\u00e9s dans ce livre",
          
"it""Menzionati in questo libro",
          
"ja""\u3053\u306e\u4f5c\u54c1\u306b\u51fa\u3066\u304f\u308b\u672c",
          
"nl""Genoemd in dit boek",
          
"pt-BR""Mencionado neste eBook",
          
"ru""\u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435",
          
"zh-CN""\u672c\u4e66\u63d0\u53ca\u7684"
        
}
      }
    },
    {
      
"id""aboutTheAuthorWidgetWithTitle",
      
"metricsTag""atat",
      
"options": {
        
"dataKey""authorBios",
        
"refTagPartial""r_ata",
        
"subscriptionInfoDataKey""authorSubscriptions",
        
"followInfoDataKey""followSubscriptions"
      
},
      
"class""authors",
      
"strings": {
        
"title": {
          
"de""\u00dcber den Autor",
          
"en""About the author",
          
"en-US""About the author",
          
"es""Acerca del autor",
          
"fr""\u00c0 propos de l'auteur",
          
"it""Informazioni sull'autore",
          
"ja""\u8457\u8005\u306b\u3064\u3044\u3066",
          
"nl""Over de auteur",
          
"pt-BR""Informa\u00e7\u00f5es do autor",
          
"ru""\u041e\u0431 \u0430\u0432\u0442\u043e\u0440\u0435",
          
"zh-CN""\u5173\u4e8e\u4f5c\u8005"
        
}
      }
    },
    {
      
"id""buyThisBookWidget",
      
"metricsTag""bn",
      
"options": {
        
"buyInStore"true,
        
"buyButtonVisible"true,
        
"dataIsCurrentBook"true,
        
"refTagPartial""bn"
      
},
      
"class""singleRec"
    
},
    {
      
"id""buyThisBookBuyInAppWidget",
      
"metricsTag""bn",
      
"options": {
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"dataIsCurrentBook"true,
        
"refTagPartial""bn"
      
},
      
"class""singleRec"
    
},
    {
      
"id""buyThisBookBuyButtonNotVisibleWidget",
      
"metricsTag""bn",
      
"options": {
        
"buyInStore"true,
        
"buyButtonVisible"false,
        
"dataIsCurrentBook"true,
        
"refTagPartial""bn"
      
},
      
"class""singleRec"
    
},
    {
      
"id""grokRatingAndReviewWidget",
      
"class""grokRateAndReview",
      
"metricsTag""grr"
    
},
    {
      
"id""grokRatingWidget",
      
"class""grokRate",
      
"metricsTag""gr"
    
},
    {
      
"id""askAReaderWidget",
      
"metricsTag""aar",
      
"options": {
        
"dataKey""askAReaderQuestion"
      
},
      
"class""askAReader",
      
"strings": {
        
"title": {
          
"de""Leser-Fragen und -Antworten",
          
"en""Reader Q&A",
          
"en-US""Reader Q&A",
          
"es""Preguntas frecuentes del lector",
          
"fr""Questions-r\u00e9ponses",
          
"it""Q&A Lettore",
          
"ja""\u8aad\u8005\u306b\u3088\u308b\u8cea\u554f\u3068\u56de\u7b54",
          
"nl""Lezersvragen",
          
"pt-BR""Perguntas e respostas do leitor",
          
"ru""\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439",
          
"zh-CN""\u8bfb\u8005\u95ee\u7b54"
        
}
      }
    },
    {
      
"id""ratingWidget",
      
"class""ratingBar",
      
"metricsTag""ro"
    
},
    {
      
"id""followTheAuthorWidgetWithTitle",
      
"metricsTag""ftat",
      
"options": {
        
"dataKey""authorSubscriptions",
        
"refTagPartial""r_fta",
        
"followInfoDataKey""followSubscriptions"
      
},
      
"class""followTheAuthor",
      
"strings": {
        
"title": {
          
"de""Bleiben Sie auf dem neuesten Stand",
          
"en""Stay up to date",
          
"en-US""Stay up to date",
          
"es""Mantente actualizado",
          
"fr""Rester \u00e0 jour",
          
"it""Rimani aggiornato",
          
"ja""\u6700\u65b0\u60c5\u5831\u3092\u30d5\u30a9\u30ed\u30fc",
          
"nl""Blijf op de hoogte",
          
"pt-BR""Mantenha-se atualizado",
          
"ru""\u0411\u0443\u0434\u044c\u0442\u0435 \u0432 \u043a\u0443\u0440\u0441\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439!",
          
"zh-CN""\u4fdd\u6301\u66f4\u65b0"
        
}
      }
    },
    {
      
"id""nextInSeriesWidget",
      
"metricsTag""nist",
      
"options": {
        
"dataKey""nextBook",
        
"buyInStore"true,
        
"buyButtonVisible"true,
        
"dataIsCurrentBook"false,
        
"refTagPartial""r_nis"
      
},
      
"class""singleRec",
      
"strings": {
        
"title": {
          
"de""N\u00e4chster Teil der Serie",
          
"en""Next in Series",
          
"en-US""Next in series",
          
"es""Siguiente de la serie",
          
"fr""Prochain tome",
          
"it""Prossimo della serie",
          
"ja""\u30b7\u30ea\u30fc\u30ba\u306e\u6b21\u5dfb",
          
"nl""Volgende in de reeks",
          
"pt-BR""Pr\u00f3ximo da s\u00e9rie",
          
"ru""\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u0441\u0435\u0440\u0438\u0438",
          
"zh-CN""\u4e1b\u4e66\u4e0b\u4e00\u90e8"
        
}
      }
    },
    {
      
"id""nextInSeriesBuyInAppWidget",
      
"metricsTag""nist",
      
"options": {
        
"dataKey""nextBook",
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"dataIsCurrentBook"false,
        
"refTagPartial""r_nis"
      
},
      
"class""singleRec",
      
"strings": {
        
"title": {
          
"de""N\u00e4chster Teil der Serie",
          
"en""Next in Series",
          
"en-US""Next in series",
          
"es""Siguiente de la serie",
          
"fr""Prochain tome",
          
"it""Prossimo della serie",
          
"ja""\u30b7\u30ea\u30fc\u30ba\u306e\u6b21\u5dfb",
          
"nl""Volgende in de reeks",
          
"pt-BR""Pr\u00f3ximo da s\u00e9rie",
          
"ru""\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u0441\u0435\u0440\u0438\u0438",
          
"zh-CN""\u4e1b\u4e66\u4e0b\u4e00\u90e8"
        
}
      }
    },
    {
      
"id""nextInSeriesBuyButtonNotVisibleWidget",
      
"metricsTag""nist",
      
"options": {
        
"dataKey""nextBook",
        
"buyInStore"true,
        
"buyButtonVisible"false,
        
"dataIsCurrentBook"false,
        
"refTagPartial""r_nis"
      
},
      
"class""singleRec",
      
"strings": {
        
"title": {
          
"de""N\u00e4chster Teil der Serie",
          
"en""Next in Series",
          
"en-US""Next in series",
          
"es""Siguiente de la serie",
          
"fr""Prochain tome",
          
"it""Prossimo della serie",
          
"ja""\u30b7\u30ea\u30fc\u30ba\u306e\u6b21\u5dfb",
          
"nl""Volgende in de reeks",
          
"pt-BR""Pr\u00f3ximo da s\u00e9rie",
          
"ru""\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u0441\u0435\u0440\u0438\u0438",
          
"zh-CN""\u4e1b\u4e66\u4e0b\u4e00\u90e8"
        
}
      }
    },
    {
      
"id""recommendedForYouWidget",
      
"metricsTag""rfy",
      
"options": {
        
"dataKey""specialRec",
        
"buyInStore"true,
        
"buyButtonVisible"true,
        
"dataIsCurrentBook"false,
        
"refTagPartial""rfy"
      
},
      
"class""singleRec",
      
"strings": {
        
"title": {
          
"de""Empfehlungen f\u00fcr Sie",
          
"en""Recommended for you",
          
"en-US""Recommended for you",
          
"es""Recomendaciones",
          
"fr""Recommand\u00e9 pour vous",
          
"it""Consigliati per te",
          
"ja""\u304a\u3059\u3059\u3081",
          
"nl""Aanbevolen voor u",
          
"pt-BR""Recomendados para voc\u00ea",
          
"ru""\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0432\u0430\u0441",
          
"zh-CN""\u4e3a\u60a8\u63a8\u8350"
        
}
      }
    },
    {
      
"id""recommendedForYouBuyInAppWidget",
      
"metricsTag""rfy",
      
"options": {
        
"dataKey""specialRec",
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"dataIsCurrentBook"false,
        
"refTagPartial""rfy"
      
},
      
"class""singleRec",
      
"strings": {
        
"title": {
          
"de""Empfehlungen f\u00fcr Sie",
          
"en""Recommended for you",
          
"en-US""Recommended for you",
          
"es""Recomendaciones",
          
"fr""Recommand\u00e9 pour vous",
          
"it""Consigliati per te",
          
"ja""\u304a\u3059\u3059\u3081",
          
"nl""Aanbevolen voor u",
          
"pt-BR""Recomendados para voc\u00ea",
          
"ru""\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0432\u0430\u0441",
          
"zh-CN""\u4e3a\u60a8\u63a8\u8350"
        
}
      }
    },
    {
      
"id""recommendedForYouBuyButtonNotVisibleWidget",
      
"metricsTag""rfy",
      
"options": {
        
"dataKey""specialRec",
        
"buyInStore"true,
        
"buyButtonVisible"false,
        
"dataIsCurrentBook"false,
        
"refTagPartial""rfy"
      
},
      
"class""singleRec",
      
"strings": {
        
"title": {
          
"de""Empfehlungen f\u00fcr Sie",
          
"en""Recommended for you",
          
"en-US""Recommended for you",
          
"es""Recomendaciones",
          
"fr""Recommand\u00e9 pour vous",
          
"it""Consigliati per te",
          
"ja""\u304a\u3059\u3059\u3081",
          
"nl""Aanbevolen voor u",
          
"pt-BR""Recomendados para voc\u00ea",
          
"ru""\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0432\u0430\u0441",
          
"zh-CN""\u4e3a\u60a8\u63a8\u8350"
        
}
      }
    },
    {
      
"id""shareWithFriendWidget",
      
"metricsTag""sfw",
      
"options": {
        
"refTagPartial""sfw"
      
},
      
"class""shareWithFriend",
      
"strings": {
        
"buttonText": {
          
"de""Empfehlen",
          
"en""Recommend",
          
"en-US""Recommend",
          
"es""Recomendar",
          
"fr""Recommander",
          
"it""Consiglia",
          
"ja""\u7d39\u4ecb",
          
"nl""Aanraden",
          
"pt-BR""Recomendar",
          
"ru""\u041f\u043e\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u0442\u044c",
          
"zh-CN""\u63a8\u8350"
        
},
        
"bodyText": {
          
"de""Empfehlen Sie es einem\/r Freund\/in.",
          
"en""Recommend it to a friend.",
          
"en-US""Recommend it to a friend.",
          
"es""Recomi\u00e9ndaselo a un amigo.",
          
"fr""Recommandez-le \u00e0 un ami.",
          
"it""Consiglialo a un amico.",
          
"ja""\u53cb\u9054\u306b\u3082\u7d39\u4ecb\u3057\u307e\u3057\u3087\u3046\u3002",
          
"nl""Raad het een vriend aan.",
          
"pt-BR""Recomende-o a um amigo.",
          
"ru""\u041f\u043e\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0439\u0442\u0435 \u0435\u0435 \u0434\u0440\u0443\u0433\u0443.",
          
"zh-CN""\u5411\u597d\u53cb\u63a8\u8350\u5427\u3002"
        
},
        
"title": {
          
"de""Gefiel Ihnen dieses Buch?",
          
"en""Enjoyed this book?",
          
"en-US""Enjoyed this book?",
          
"es""\u00bfTe ha gustado este libro?",
          
"fr""Vous avez aim\u00e9 ce livre\u00a0?",
          
"it""Ti \u00e8 piaciuto questo libro?",
          
"ja""\u3053\u306e\u672c\u3092\u304a\u697d\u3057\u307f\u3044\u305f\u3060\u3051\u307e\u3057\u305f\u304b?",
          
"nl""Vond u dit boek leuk?",
          
"pt-BR""Gostou deste eBook?",
          
"ru""\u041f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u044d\u0442\u0430 \u043a\u043d\u0438\u0433\u0430?",
          
"zh-CN""\u559c\u6b22\u672c\u4e66\uff1f"
        
}
      }
    }
  ],
  
"layouts": [
    {
      
"metricsTag""vl",
      
"class""verticalList",
      
"widgetPlacements": {
        
"body": [
          [
            
"ratingAndReviewWidget"
          
],
          [
            
"sharingWidget"
          
],
          [
            
"recommendedForYouWidget"
          
],
          [
            
"nextInSeriesWidget"
          
],
          [
            
"authorRecsShovelerWidgetWithTitlePlaceholders",
            
"authorRecsListWidgetWithTitle"
          
],
          [
            
"customerRecsShovelerWidgetWithTitle",
            
"customerRecsListWidgetWithTitle"
          
],
          [
            
"citationRecsShovelerWidgetWithTitle",
            
"citationRecsListWidgetWithTitle"
          
],
          [
            
"followTheAuthorWidgetWithTitle"
          
],
          [
            
"askAReaderWidget"
          
]
        ]
      },
      
"requiredWidgets": [
        
"ratingAndReviewWidget",
        
"sharingWidget"
      
]
    },
    {
      
"metricsTag""vl",
      
"class""verticalList",
      
"widgetPlacements": {
        
"body": [
          [
            
"grokRatingAndReviewWidget",
            
"ratingAndReviewWidget",
            
"grokRatingWidget",
            
"ratingWidget"
          
],
          [
            
"recommendedForYouWidget"
          
],
          [
            
"nextInSeriesWidget"
          
],
          [
            
"authorRecsShovelerWidgetWithTitlePlaceholders",
            
"authorRecsListWidgetWithTitle"
          
],
          [
            
"customerRecsShovelerWidgetWithTitle",
            
"customerRecsListWidgetWithTitle"
          
],
          [
            
"citationRecsShovelerWidgetWithTitle",
            
"citationRecsListWidgetWithTitle"
          
],
          [
            
"followTheAuthorWidgetWithTitle"
          
],
          [
            
"askAReaderWidget"
          
]
        ]
      }
    }
  ],
  
"data": {
    
"nextBook": {
      
"class""recommendation",
      
"asin""B00LOTG8RU",
      
"title""Shock Diamonds",
      
"authors": [
        
"E.R. Mason"
      
],
      
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/51lvLeHzpVL.jpg",
      
"hasSample"false
    
},
    
"customerProfile": {
      
"class""customerProfile",
      
"realName""mary sick"
    
},
    
"authorRecs": {
      
"class""recommendationList",
      
"recommendations": [
        {
          
"class""recommendation",
          
"asin""B0167GEC5Y",
          
"title""Dark Vengeance",
          
"authors": [
            
"E.R. Mason"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/51xzQqBBfXL.jpg",
          
"hasSample"false
        
},
        {
          
"class""recommendation",
          
"asin""B00UPGTWF8",
          
"title""Demon's Well",
          
"authors": [
            
"E.R. Mason"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/61dgGJMdhHL.jpg",
          
"hasSample"false
        
}
      ]
    },
    
"customersWhoBoughtRecs": {
      
"class""recommendationList",
      
"recommendations": [
        {
          
"class""recommendation",
          
"asin""B00PO7ZDF6",
          
"title""Starborn Odyssey (The Starborn Odyssey Trilogy Book 1)",
          
"authors": [
            
"Haines Sigurdsson"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/51VVAC0PFGL.jpg",
          
"hasSample"false
        
},
        {
          
"class""recommendation",
          
"asin""B00LXM9I34",
          
"title""Messenger",
          
"authors": [
            
"James Walker"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/516Re%2Bb2tuL.jpg",
          
"hasSample"false
        
},
        {
          
"class""recommendation",
          
"asin""B00IASACZW",
          
"title""The Contact Episode Two",
          
"authors": [
            
"Albert Sartison"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/510cIwaEgiL.jpg",
          
"hasSample"false
        
},
        {
          
"class""recommendation",
          
"asin""B0144VBH6G",
          
"title""Space Scout",
          
"authors": [
            
"S.A. Pavli"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/51QYuw8jMnL.jpg",
          
"hasSample"false
        
},
        {
          
"class""recommendation",
          
"asin""B01525CK32",
          
"title""Science Fiction: The 101 Best Novels 1985 - 2010",
          
"authors": [
            
"Damien Broderick",
            
"di Filippo, Paul"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/51HsGhZFWKL.jpg",
          
"hasSample"false
        
}
      ]
    }
  }

Which is what produces that end-of-book pop-up marketing panel.

I don't see where the 'jbButtonVisible: true' entry goes, but maybe ....

The timestamp is in ms:
Code:
$ date -d @1445975397.394 +"%F %T %z"
2015-10-27 14:49:57 -0500
Edit:
The image link is a nothing special (other than the escaping) http ref. link:
(Served directly from the amazon image cloud server for your viewing pleasure.)



Hmm...
Now every view of this post will count as my hitting the 'end actions' panel.
(Unless the Mobileread server is caching this lmage link, which it probably is.)

Will be interesting to think of what their data mining routines think of all the sudden interest in this 'end actions' panel.

Last edited by knc1; 10-29-2015 at 09:31 PM.
knc1 is offline   Reply With Quote
Old 10-29-2015, 12:35 PM   #11
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Mysteries - *.asc

Def? Amazon Sales Code?
Minimized json.

as in StartActions.data.<asin>.asc:
PHP Code:
&#65279;{
  
"bookInfo": {
    
"class""bookInfo",
    
"asin""B00LODPL06",
    
"contentType""EBOK",
    
"timestamp"1445975383921,
    
"refTagSuffix""AAELAAA",
    
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/61HttyjCBkL.jpg",
    
"erl": -1
  
},
  
"widgets": [
    {
      
"id""welcomeTextWidget",
      
"metricsTag""wtw",
      
"options": {
        
"dataKey""welcomeText",
        
"displayLimitKey""welcomeWidget",
        
"displayLimit"1
      
},
      
"class""simpleText"
    
},
    {
      
"id""timeToReadWidget",
      
"metricsTag""ttr",
      
"options": {
        
"timeDataKey""readingTime",
        
"pageDataKey""readingPages"
      
},
      
"class""readingTime"
    
},
    {
      
"id""xray",
      
"metricsTag""xray",
      
"options": {
        
"preferredTypeOrder": [
          
"images"
        
],
        
"imagesThreshold"4,
        
"imagesFormat""mosaic"
      
},
      
"class""xrayTeaser",
      
"strings": {
        
"imagesDescription": {
          
"de""Bl\u00e4ttern Sie durch alle %{numImages}-Bilder in diesem Buch.",
          
"en""Flip through all %{numImages} images in the book.",
          
"en-US""Flip through all %{numImages} images in the book.",
          
"es""Hojear todas las %{numImages} im\u00e1genes del libro.",
          
"fr""Feuilleter les %{numImages} images de ce livre.",
          
"it""Sfoglia tutte le %{numImages} immagini nel libro.",
          
"ja""\u3053\u306e\u672c\u306e%{numImages}\u500b\u306e\u753b\u50cf\u3059\u3079\u3066\u3092\u898b\u3089\u308c\u307e\u3059\u3002",
          
"nl""Blader door alle %{numImages} afbeeldingen in het boek.",
          
"pt-BR""Percorrer todas as %{numImages} imagens no eBook.",
          
"ru""\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432\u0441\u0435 %{numImages} \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u043a\u043d\u0438\u0433\u0435.",
          
"zh-CN""\u6d4f\u89c8\u4e66\u4e2d\u5168\u90e8 %{numImages} \u5f20\u56fe\u7247\u3002"
        
},
        
"imagesButtonText": {
          
"de""Alle Bilder ansehen",
          
"en""See All Images",
          
"en-US""See All Images",
          
"es""Ver todas las im\u00e1genes",
          
"fr""Voir toutes les images",
          
"it""Vedi tutte le immagini",
          
"ja""\u3059\u3079\u3066\u306e\u753b\u50cf\u3092\u898b\u308b",
          
"nl""Alle afbeeldingen weergeven",
          
"pt-BR""Ver todas as imagens",
          
"ru""\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f",
          
"zh-CN""\u67e5\u770b\u5168\u90e8\u56fe\u7247"
        
},
        
"entitiesButtonText": {
          
"de""\u00d6ffnen Sie X-Ray",
          
"en-US""Open X-Ray",
          
"ru""\u041e\u0442\u043a\u0440\u044b\u0442\u044c X-Ray",
          
"pt-BR""Abrir X-Ray",
          
"ja""X-Ray\u3092\u958b\u304f",
          
"en""Open X-Ray",
          
"it""Apri X-Ray",
          
"fr""Ouvrir X-Ray",
          
"zh-CN""\u6253\u5f00X-Ray",
          
"es""Abrir X-Ray",
          
"nl""X-Ray openen"
        
},
        
"entitiesDescription": {
          
"de""Durchsuchen Sie Leute, Ausdr\u00fccke und Bilder in diesem Buch.",
          
"en""Explore people, terms and images in this book.",
          
"en-US""Explore people, terms, and images in this book.",
          
"es""Explora personas, t\u00e9rminos e im\u00e1genes de este libro.",
          
"fr""Explorer les personnages, les termes et les images de ce livre.",
          
"it""Esplora persone, termini e immagini in questo libro.",
          
"ja""\u3053\u306e\u672c\u306e\u767b\u5834\u4eba\u7269\u3001\u30c8\u30d4\u30c3\u30af\u3001\u753b\u50cf\u3092\u4e00\u5ea6\u306b\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002",
          
"nl""Mensen, termen en afbeeldingen in dit boek ontdekken.",
          
"pt-BR""Explorar pessoas, termos e imagens neste eBook.",
          
"ru""\u0418\u0437\u0443\u0447\u0430\u0439\u0442\u0435 \u043b\u044e\u0434\u0435\u0439, \u0442\u0435\u0440\u043c\u0438\u043d\u044b \u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435.",
          
"zh-CN""\u63a2\u7d22\u672c\u4e66\u4e2d\u7684\u4eba\u7269\u3001\u672f\u8bed\u548c\u56fe\u7247\u3002"
        
}
      }
    },
    {
      
"id""kuTeaserWidget",
      
"metricsTag""dtb",
      
"options": {
        
"dynamicButtonDataKey""kuTeaserData",
        
"dynamicButtonActionKey""kuUrlAction",
        
"displayIfClicked"true,
        
"clickOnlyOnce"false,
        
"displayLimitKey""kuTeaserWidget",
        
"refTagPartial""r_kut",
        
"featureKey""kuTeaser",
        
"displayLimit"3
      
},
      
"class""dynamicButtonWidget"
    
},
    {
      
"id""positionInSeriesWidgetWithText",
      
"metricsTag""pist",
      
"options": {
        
"seriesPositionDataKey""seriesPosition"
      
},
      
"class""positionInSeries",
      
"strings": {
        
"text": {
          
"de""Dies ist das Buch Nr. %{position} von %{total} der Serie %{seriesName}",
          
"en""This is book %{position} of %{total} in %{seriesName}",
          
"en-US""This is book %{position} of %{total} in %{seriesName}",
          
"es""Este es el libro %{position} de %{total} en %{seriesName}",
          
"fr""Ce livre est le %{position}e sur %{total} de la s\u00e9rie %{seriesName}",
          
"it""Questo libro \u00e8 il %{position} libro su %{total} libri nella serie %{seriesName}",
          
"ja""\u3053\u306e\u672c\u306f%{seriesName}\u306e\u5168%{total}\u518a\u306e\u3046\u3061%{position}\u518a\u76ee\u3067\u3059\u3002",
          
"nl""Dit is boek %{position} van %{total} van %{seriesName}",
          
"pt-BR""Esse \u00e9 o eBook %{position} de %{total} em %{seriesName}",
          
"ru""\u042d\u0442\u043e \u043a\u043d\u0438\u0433\u0430 %{position} \u0438\u0437 %{total} \u0432 \u0441\u0435\u0440\u0438\u0438 \u00ab%{seriesName}\u00bb",
          
"zh-CN""\u8fd9\u662f %{seriesName} \u4e2d\u7684\u7b2c %{position} \u672c\u56fe\u4e66\uff08\u5171 %{total} \u672c\uff09"
        
}
      }
    },
    {
      
"id""previousBookInTheSeriesWidget",
      
"metricsTag""pbits",
      
"options": {
        
"dataKey""previousBookInTheSeries",
        
"refTagPartial""pbits"
      
},
      
"class""bookDetail",
      
"strings": {
        
"title": {
          
"de""Vorherige B\u00fccher der Serie:",
          
"en""Previous book in the series:",
          
"en-US""Previous book in the series:",
          
"es""Libros anteriores de la serie:",
          
"fr""Livre pr\u00e9c\u00e9dent dans la s\u00e9rie\u00a0:",
          
"it""Libro precedente nella serie:",
          
"ja""\u30b7\u30ea\u30fc\u30ba\u306e\u524d\u5dfb:",
          
"nl""Vorige boek in de reeks:",
          
"pt-BR""eBook anterior da s\u00e9rie",
          
"ru""\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u0441\u0435\u0440\u0438\u0438:",
          
"zh-CN""\u7cfb\u5217\u4e2d\u7684\u4e0a\u4e00\u672c\u56fe\u4e66\uff1a"
        
}
      }
    },
    {
      
"id""aboutTheAuthorWidget",
      
"metricsTag""ata",
      
"options": {
        
"dataKey""authorBios",
        
"refTagPartial""r_ata",
        
"subscriptionInfoDataKey""authorSubscriptions",
        
"followInfoDataKey""followSubscriptions"
      
},
      
"class""authors"
    
},
    {
      
"id""authorNamesListWidget",
      
"metricsTag""anl",
      
"options": {
        
"dataKey""authorNames",
        
"refTagPartial""r_anl"
      
},
      
"class""authorNames"
    
},
    {
      
"id""authorRecsShovelerWidget",
      
"metricsTag""ra",
      
"options": {
        
"dataKey""authorRecs",
        
"refTagPartial""r_a"
      
},
      
"class""shoveler"
    
},
    {
      
"id""authorRecsShovelerWidgetWithTitleNoPlaceholderSingleAuthor",
      
"metricsTag""ratsa",
      
"options": {
        
"dataKey""authorRecs",
        
"refTagPartial""r_a"
      
},
      
"class""shoveler",
      
"strings": {
        
"title": {
          
"de""Mehr vom Autor",
          
"en""More by the author",
          
"en-US""More by the author",
          
"es""M\u00e1s por el autor",
          
"fr""Autres livres du m\u00eame auteur",
          
"it""Altri titoli dell'autore",
          
"ja""\u3053\u306e\u8457\u8005\u306e\u305d\u306e\u4ed6\u306e\u4f5c\u54c1",
          
"nl""Meer van de auteur",
          
"pt-BR""Mais do autor",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440\u0430",
          
"zh-CN""\u8be5\u4f5c\u8005\u7684\u66f4\u591a\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""authorRecsShovelerWidgetWithTitleNoPlaceholderMultipleAuthors",
      
"metricsTag""ratma",
      
"options": {
        
"dataKey""authorRecs",
        
"refTagPartial""r_a"
      
},
      
"class""shoveler",
      
"strings": {
        
"title": {
          
"de""Mehr von den Autoren",
          
"en""More by the authors",
          
"en-US""More by the authors",
          
"es""M\u00e1s por autores",
          
"fr""Autres livres des m\u00eames auteurs",
          
"it""Altri titoli degli autori",
          
"ja""\u3053\u308c\u3089\u306e\u8457\u8005\u306e\u4ed6\u306e\u4f5c\u54c1",
          
"nl""Meer van de auteurs",
          
"pt-BR""Mais dos autores",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440\u043e\u0432",
          
"zh-CN""\u8fd9\u4e9b\u4f5c\u8005\u7684\u66f4\u591a\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""markAsReadingWidget",
      
"metricsTag""gmar",
      
"options": {
        
"dataKey""grokShelfInfo"
      
},
      
"class""markReading"
    
},
    {
      
"id""grokTeaserWidget",
      
"class""grokTeaser",
      
"metricsTag""gt",
      
"options": {
        
"displayLimitKey""grokTeaser",
        
"displayLimit"3
      
}
    },
    {
      
"id""upsell3PPhoneAppWidget",
      
"metricsTag""us3pa",
      
"options": {
        
"dynamicButtonDataKey""upsell3PPhoneAppData",
        
"dynamicButtonActionKey""upsell3PPhoneAppUrlAction",
        
"displayIfClicked"true,
        
"clickOnlyOnce"false,
        
"displayLimitKey""upsell3PPhoneAppWidget",
        
"refTagPartial""r_us3pa",
        
"featureKey""upsell3PPhoneApp",
        
"displayLimit"3
      
},
      
"class""dynamicButtonWidget"
    
},
    {
      
"id""audibleNarration",
      
"metricsTag""audnar",
      
"options": {
        
"refTagPartial""r_aud"
      
},
      
"class""audible"
    
},
    {
      
"id""citationRecsShovelerWidget",
      
"metricsTag""rc",
      
"options": {
        
"dataKey""citationRecs",
        
"refTagPartial""r_c"
      
},
      
"class""shoveler"
    
},
    {
      
"id""readerSettingsWidget",
      
"class""readerSettings",
      
"metricsTag""rs"
    
},
    {
      
"id""leftNavCitationsFeaturedList",
      
"metricsTag""lnrc",
      
"options": {
        
"dataKey""leftNavCitationRecs",
        
"refTagPartial""ln_r_c"
      
},
      
"class""featuredList",
      
"strings": {
        
"panelRowTitle": {
          
"de""In diesem Buch erw\u00e4hnt",
          
"en""Mentioned in this Book",
          
"en-US""Mentioned in this Book",
          
"es""Mencionado en este libro",
          
"fr""Mentionn\u00e9s dans ce livre",
          
"it""Menzionati in questo libro",
          
"ja""\u3053\u306e\u4f5c\u54c1\u306b\u51fa\u3066\u304f\u308b\u672c",
          
"nl""Genoemd in dit boek",
          
"pt-BR""Mencionado neste eBook",
          
"ru""\u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435",
          
"zh-CN""\u672c\u4e66\u63d0\u53ca\u7684"
        
},
        
"title": {
          
"de""In diesem Buch erw\u00e4hnt",
          
"en""Mentioned in this Book",
          
"en-US""Mentioned in this Book",
          
"es""Mencionado en este libro",
          
"fr""Mentionn\u00e9s dans ce livre",
          
"it""Menzionati in questo libro",
          
"ja""\u3053\u306e\u4f5c\u54c1\u306b\u51fa\u3066\u304f\u308b\u672c",
          
"nl""Genoemd in dit boek",
          
"pt-BR""Mencionado neste eBook",
          
"ru""\u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435",
          
"zh-CN""\u672c\u4e66\u63d0\u53ca\u7684"
        
}
      }
    },
    {
      
"id""bookDescriptionWidget",
      
"metricsTag""bd",
      
"options": {
        
"dataKey""bookDescription",
        
"refTagPartial""r_bd"
      
},
      
"class""bookDetail",
      
"strings": {
        
"title": {
          
"de""Buchbeschreibung, Bewertungen, Rezensionen und mehr",
          
"en""Book description, ratings, reviews and more",
          
"en-US""Book description, ratings, reviews and more",
          
"es""Descripci\u00f3n del libro, calificaciones, rese\u00f1as y m\u00e1s",
          
"fr""Description du livre, \u00e9valuations, commentaires et plus",
          
"it""Descrizione libro, valutazioni, recensioni e altro",
          
"ja""\u672c\u306e\u8a73\u7d30\u3001\u8a55\u4fa1\u3001\u30ec\u30d3\u30e5\u30fc\u306a\u3069",
          
"nl""Beschrijving van het boek, beoordelingen, recensies en meer",
          
"pt-BR""Descri\u00e7\u00e3o de eBook, classifica\u00e7\u00f5es, avalia\u00e7\u00f5es e muito mais",
          
"ru""\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043d\u0438\u0433\u0438, \u043e\u0446\u0435\u043d\u043a\u0438, \u043e\u0442\u0437\u044b\u0432\u044b \u0438 \u0434\u0440.",
          
"zh-CN""\u56fe\u4e66\u63cf\u8ff0\u3001\u8bc4\u5206\u53ca\u5176\u4ed6"
        
}
      }
    },
    {
      
"id""popularHighlightsTextWidget",
      
"metricsTag""phl",
      
"options": {
        
"dataKey""popularHighlightsText"
      
},
      
"class""simpleText"
    
},
    {
      
"id""headerWidget",
      
"metricsTag""hdrw",
      
"options": {
        
"dataKey""currentBook",
        
"refTagPartial""hdrw",
        
"initialLines": -1,
        
"moreLines": -1
      
},
      
"class""header",
      
"strings": {
        
"title": {
          
"de""Beschreibung",
          
"en""Description",
          
"en-US""Description",
          
"es""Descripci\u00f3n",
          
"fr""Description",
          
"it""Descrizione",
          
"ja""\u8aac\u660e",
          
"nl""Beschrijving",
          
"pt-BR""Descri\u00e7\u00e3o",
          
"ru""\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",
          
"zh-CN""\u63cf\u8ff0"
        
}
      }
    },
    {
      
"id""authorRecsBookGridWidgetBuyButtonNotVisible",
      
"metricsTag""ra",
      
"options": {
        
"dataKey""authorFeaturedRecs",
        
"buyInStore"false,
        
"buyButtonVisible"false,
        
"refTagPartial""r_a"
      
},
      
"class""bookGrid"
    
},
    {
      
"id""authorRecsBookGridWidgetWithTitleSingleAuthorBuyButtonNotVisible",
      
"metricsTag""ratsa",
      
"options": {
        
"dataKey""authorFeaturedRecs",
        
"buyInStore"false,
        
"buyButtonVisible"false,
        
"refTagPartial""r_a"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Mehr vom Autor",
          
"en""More by the author",
          
"en-US""More by the author",
          
"es""M\u00e1s por el autor",
          
"fr""Autres livres du m\u00eame auteur",
          
"it""Altri titoli dell'autore",
          
"ja""\u3053\u306e\u8457\u8005\u306e\u305d\u306e\u4ed6\u306e\u4f5c\u54c1",
          
"nl""Meer van de auteur",
          
"pt-BR""Mais do autor",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440\u0430",
          
"zh-CN""\u8be5\u4f5c\u8005\u7684\u66f4\u591a\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""authorRecsBookGridWidgetWithTitleMultipleAuthorsBuyButtonNotVisible",
      
"metricsTag""ratma",
      
"options": {
        
"dataKey""authorFeaturedRecs",
        
"buyInStore"false,
        
"buyButtonVisible"false,
        
"refTagPartial""r_a"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Mehr von den Autoren",
          
"en""More by the authors",
          
"en-US""More by the authors",
          
"es""M\u00e1s por autores",
          
"fr""Autres livres des m\u00eames auteurs",
          
"it""Altri titoli degli autori",
          
"ja""\u3053\u308c\u3089\u306e\u8457\u8005\u306e\u4ed6\u306e\u4f5c\u54c1",
          
"nl""Meer van de auteurs",
          
"pt-BR""Mais dos autores",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440\u043e\u0432",
          
"zh-CN""\u8fd9\u4e9b\u4f5c\u8005\u7684\u66f4\u591a\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""authorRecsBookGridWidgetBuyInApp",
      
"metricsTag""ra",
      
"options": {
        
"dataKey""authorFeaturedRecs",
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"refTagPartial""r_a"
      
},
      
"class""bookGrid"
    
},
    {
      
"id""authorRecsBookGridWidgetWithTitleSingleAuthorBuyInApp",
      
"metricsTag""ratsa",
      
"options": {
        
"dataKey""authorFeaturedRecs",
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"refTagPartial""r_a"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Mehr vom Autor",
          
"en""More by the author",
          
"en-US""More by the author",
          
"es""M\u00e1s por el autor",
          
"fr""Autres livres du m\u00eame auteur",
          
"it""Altri titoli dell'autore",
          
"ja""\u3053\u306e\u8457\u8005\u306e\u305d\u306e\u4ed6\u306e\u4f5c\u54c1",
          
"nl""Meer van de auteur",
          
"pt-BR""Mais do autor",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440\u0430",
          
"zh-CN""\u8be5\u4f5c\u8005\u7684\u66f4\u591a\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""authorRecsBookGridWidgetWithTitleMultipleAuthorsBuyInApp",
      
"metricsTag""ratma",
      
"options": {
        
"dataKey""authorFeaturedRecs",
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"refTagPartial""r_a"
      
},
      
"class""bookGrid",
      
"strings": {
        
"title": {
          
"de""Mehr von den Autoren",
          
"en""More by the authors",
          
"en-US""More by the authors",
          
"es""M\u00e1s por autores",
          
"fr""Autres livres des m\u00eames auteurs",
          
"it""Altri titoli degli autori",
          
"ja""\u3053\u308c\u3089\u306e\u8457\u8005\u306e\u4ed6\u306e\u4f5c\u54c1",
          
"nl""Meer van de auteurs",
          
"pt-BR""Mais dos autores",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440\u043e\u0432",
          
"zh-CN""\u8fd9\u4e9b\u4f5c\u8005\u7684\u66f4\u591a\u4f5c\u54c1"
        
}
      }
    },
    {
      
"id""citationRecsBookGridWidgetBuyButtonNotVisible",
      
"metricsTag""rc",
      
"options": {
        
"dataKey""citationFeaturedRecs",
        
"buyInStore"true,
        
"buyButtonVisible"false,
        
"refTagPartial""r_c"
      
},
      
"class""bookGrid"
    
},
    {
      
"id""citationRecsBookGridWidgetBuyInApp",
      
"metricsTag""rc",
      
"options": {
        
"dataKey""citationFeaturedRecs",
        
"buyInStore"false,
        
"buyButtonVisible"true,
        
"refTagPartial""r_c"
      
},
      
"class""bookGrid"
    
}
  ],
  
"layouts": [
    {
      
"metricsTag""glf",
      
"options": {
        
"providesHeaderInfo"true
      
},
      
"class""groupedLayoutWithFooter",
      
"strings": {
        
"moreBySingleAuthorGroup": {
          
"de""Mehr vom Autor",
          
"en""More by the author",
          
"en-US""More by the author",
          
"es""M\u00e1s por el autor",
          
"fr""Autres livres du m\u00eame auteur",
          
"it""Altri titoli dell'autore",
          
"ja""\u3053\u306e\u8457\u8005\u306e\u305d\u306e\u4ed6\u306e\u4f5c\u54c1",
          
"nl""Meer van de auteur",
          
"pt-BR""Mais do autor",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440\u0430",
          
"zh-CN""\u8be5\u4f5c\u8005\u7684\u66f4\u591a\u4f5c\u54c1"
        
},
        
"seriesGroup": {
          
"de""Infos zur Serie",
          
"en""About the series",
          
"en-US""About the series",
          
"es""Acerca de la serie",
          
"fr""\u00c0 propos de cette s\u00e9rie",
          
"it""Informazioni sulle serie",
          
"ja""\u3053\u306e\u30b7\u30ea\u30fc\u30ba\u306b\u3064\u3044\u3066",
          
"nl""Over de reeks",
          
"pt-BR""Informa\u00e7\u00f5es da s\u00e9rie",
          
"ru""\u041e\u0431 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438",
          
"zh-CN""\u5173\u4e8e\u7cfb\u5217"
        
},
        
"xrayGroup": {
          
"de""X-Ray",
          
"en-US""X-Ray",
          
"ru""X-Ray",
          
"pt-BR""X-Ray",
          
"ja""X-Ray",
          
"en""X-Ray",
          
"it""X-Ray",
          
"fr""X-Ray",
          
"zh-CN""X-Ray",
          
"es""X-Ray",
          
"nl""X-Ray"
        
},
        
"readingTimeGroup": {
          
"de""Typische Lesezeit",
          
"en""Typical time to read",
          
"en-US""Typical time to read",
          
"es""Tiempo de lectura t\u00edpico",
          
"fr""Temps de lecture typique",
          
"it""Tempo di lettura tipico",
          
"ja""\u8aad\u307f\u7d42\u3048\u308b\u307e\u3067\u306e\u5e73\u5747\u7684\u306a\u6642\u9593",
          
"nl""Gebruikelijke leestijd",
          
"pt-BR""Tempo t\u00edpico para leitura",
          
"ru""\u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0447\u0442\u0435\u043d\u0438\u044f",
          
"zh-CN""\u5e38\u89c4\u9605\u8bfb\u65f6\u95f4"
        
},
        
"popularHighlightsGroup": {
          
"de""Beliebte Markierungen",
          
"en""Popular Highlights",
          
"en-US""Popular Highlights",
          
"es""Subrayados populares",
          
"fr""Passages les plus surlign\u00e9s",
          
"it""Evidenziazioni frequenti",
          
"ja""\u30dd\u30d4\u30e5\u30e9\u30fc\u30fb\u30cf\u30a4\u30e9\u30a4\u30c8",
          
"nl""Populaire markeringen",
          
"pt-BR""Destaques populares",
          
"ru""\u041f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0442\u0440\u044b\u0432\u043a\u0438",
          
"zh-CN""\u70ed\u95e8\u6807\u6ce8"
        
},
        
"citationsGroup": {
          
"de""In diesem Buch erw\u00e4hnt",
          
"en""Mentioned in this book",
          
"en-US""Mentioned in this book",
          
"es""Mencionado en este libro",
          
"fr""Mentionn\u00e9s dans ce livre",
          
"it""Menzionati in questo libro",
          
"ja""\u3053\u306e\u4f5c\u54c1\u306b\u51fa\u3066\u304f\u308b\u672c",
          
"nl""Genoemd in dit boek",
          
"pt-BR""Mencionado neste eBook",
          
"ru""\u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435",
          
"zh-CN""\u672c\u4e66\u63d0\u53ca\u7684"
        
},
        
"welcomeGroup": {
          
"de""Willkommen!",
          
"en""Welcome!",
          
"en-US""Welcome!",
          
"es""\u00a1Bienvenido!",
          
"fr""Bienvenue\u00a0!",
          
"it""Benvenuto!",
          
"ja""\u3088\u3046\u3053\u305d!",
          
"nl""Welkom",
          
"pt-BR""Bem-vindo!",
          
"ru""\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c!",
          
"zh-CN""\u6b22\u8fce\uff01"
        
},
        
"audibleGroup": {
          
"de""Auf Audible-Erz\u00e4hlung erweitern",
          
"en""Upgrade to Audible Narration",
          
"en-US""Upgrade to Audible Narration",
          
"es""Actualizar a narraci\u00f3n Audible",
          
"fr""Passer \u00e0 la narration Audible",
          
"it""Passa alla narrazione Audible",
          
"ja""Audible\u30ca\u30ec\u30fc\u30b7\u30e7\u30f3\u3078\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9",
          
"nl""Upgraden naar Audible Narration",
          
"pt-BR""Atualizar para narra\u00e7\u00e3o Audible",
          
"ru""\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0437\u0430\u043a\u0430\u0434\u0440\u043e\u0432\u043e\u043c\u0443 \u0442\u0435\u043a\u0441\u0442\u0443 Audible",
          
"zh-CN""\u5347\u7ea7\u5230\u3016Audible Narration\u3017"
        
}
      },
      
"widgetPlacements": {
        
"footer": [
          {
            
"widgetSlots": [
              [
                
"readerSettingsWidget"
              
]
            ]
          }
        ],
        
"body": [
          {
            
"titleKey""welcomeGroup",
            
"widgetSlots": [
              [
                
"welcomeTextWidget"
              
]
            ]
          },
          {
            
"widgetSlots": [
              [
                
"headerWidget"
              
]
            ]
          },
          {
            
"titleKey""readingTimeGroup",
            
"widgetSlots": [
              [
                
"timeToReadWidget"
              
]
            ]
          },
          {
            
"widgetSlots": [
              [
                
"markAsReadingWidget"
              
]
            ]
          },
          {
            
"titleKey""audibleGroup",
            
"widgetSlots": [
              [
                
"audibleNarration"
              
]
            ]
          },
          {
            
"titleKey""seriesGroup",
            
"widgetSlots": [
              [
                
"positionInSeriesWidgetWithText"
              
],
              [
                
"previousBookInTheSeriesWidget"
              
]
            ]
          },
          {
            
"titleKey""xrayGroup",
            
"widgetSlots": [
              [
                
"xray"
              
]
            ]
          },
          {
            
"titleKey""popularHighlightsGroup",
            
"widgetSlots": [
              [
                
"popularHighlightsTextWidget"
              
]
            ]
          },
          {
            
"widgetSlots": [
              [
                
"grokTeaserWidget"
              
]
            ]
          },
          {
            
"titleKey""moreBySingleAuthorGroup",
            
"widgetSlots": [
              [
                
"authorRecsBookGridWidgetBuyInApp",
                
"authorRecsShovelerWidget"
              
]
            ]
          },
          {
            
"titleKey""citationsGroup",
            
"widgetSlots": [
              [
                
"citationRecsBookGridWidgetBuyInApp",
                
"citationRecsShovelerWidget"
              
]
            ]
          }
        ]
      },
      
"requiredWidgets": [
        
"headerWidget"
      
]
    },
    {
      
"metricsTag""glf",
      
"class""groupedLayoutWithFooter",
      
"strings": {
        
"moreBySingleAuthorGroup": {
          
"de""Mehr vom Autor",
          
"en""More by the author",
          
"en-US""More by the author",
          
"es""M\u00e1s por el autor",
          
"fr""Autres livres du m\u00eame auteur",
          
"it""Altri titoli dell'autore",
          
"ja""\u3053\u306e\u8457\u8005\u306e\u305d\u306e\u4ed6\u306e\u4f5c\u54c1",
          
"nl""Meer van de auteur",
          
"pt-BR""Mais do autor",
          
"ru""\u0411\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440\u0430",
          
"zh-CN""\u8be5\u4f5c\u8005\u7684\u66f4\u591a\u4f5c\u54c1"
        
},
        
"seriesGroup": {
          
"de""Infos zur Serie",
          
"en""About the series",
          
"en-US""About the series",
          
"es""Acerca de la serie",
          
"fr""\u00c0 propos de cette s\u00e9rie",
          
"it""Informazioni sulle serie",
          
"ja""\u3053\u306e\u30b7\u30ea\u30fc\u30ba\u306b\u3064\u3044\u3066",
          
"nl""Over de reeks",
          
"pt-BR""Informa\u00e7\u00f5es da s\u00e9rie",
          
"ru""\u041e\u0431 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438",
          
"zh-CN""\u5173\u4e8e\u7cfb\u5217"
        
},
        
"xrayGroup": {
          
"de""X-Ray",
          
"en-US""X-Ray",
          
"ru""X-Ray",
          
"pt-BR""X-Ray",
          
"ja""X-Ray",
          
"en""X-Ray",
          
"it""X-Ray",
          
"fr""X-Ray",
          
"zh-CN""X-Ray",
          
"es""X-Ray",
          
"nl""X-Ray"
        
},
        
"bookDescriptionEInkGroup": {
          
"de""Im Shop anschauen",
          
"en""See in store",
          
"en-US""See in store",
          
"es""Ver en tienda",
          
"fr""Voir dans la boutique",
          
"it""Visualizza nel Negozio",
          
"ja""\u30b9\u30c8\u30a2\u3067\u898b\u308b",
          
"nl""Weergeven in de winkel",
          
"pt-BR""Ver na loja",
          
"ru""\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0435",
          
"zh-CN""\u5728\u5546\u5e97\u4e2d\u67e5\u770b"
        
},
        
"readingTimeGroup": {
          
"de""Typische Lesezeit",
          
"en""Typical time to read",
          
"en-US""Typical time to read",
          
"es""Tiempo de lectura t\u00edpico",
          
"fr""Temps de lecture typique",
          
"it""Tempo di lettura tipico",
          
"ja""\u8aad\u307f\u7d42\u3048\u308b\u307e\u3067\u306e\u5e73\u5747\u7684\u306a\u6642\u9593",
          
"nl""Gebruikelijke leestijd",
          
"pt-BR""Tempo t\u00edpico para leitura",
          
"ru""\u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0447\u0442\u0435\u043d\u0438\u044f",
          
"zh-CN""\u5e38\u89c4\u9605\u8bfb\u65f6\u95f4"
        
},
        
"popularHighlightsGroup": {
          
"de""Beliebte Markierungen",
          
"en""Popular Highlights",
          
"en-US""Popular Highlights",
          
"es""Subrayados populares",
          
"fr""Passages les plus surlign\u00e9s",
          
"it""Evidenziazioni frequenti",
          
"ja""\u30dd\u30d4\u30e5\u30e9\u30fc\u30fb\u30cf\u30a4\u30e9\u30a4\u30c8",
          
"nl""Populaire markeringen",
          
"pt-BR""Destaques populares",
          
"ru""\u041f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0442\u0440\u044b\u0432\u043a\u0438",
          
"zh-CN""\u70ed\u95e8\u6807\u6ce8"
        
},
        
"citationsGroup": {
          
"de""In diesem Buch erw\u00e4hnt",
          
"en""Mentioned in this book",
          
"en-US""Mentioned in this book",
          
"es""Mencionado en este libro",
          
"fr""Mentionn\u00e9s dans ce livre",
          
"it""Menzionati in questo libro",
          
"ja""\u3053\u306e\u4f5c\u54c1\u306b\u51fa\u3066\u304f\u308b\u672c",
          
"nl""Genoemd in dit boek",
          
"pt-BR""Mencionado neste eBook",
          
"ru""\u0423\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435",
          
"zh-CN""\u672c\u4e66\u63d0\u53ca\u7684"
        
},
        
"welcomeGroup": {
          
"de""Willkommen!",
          
"en""Welcome!",
          
"en-US""Welcome!",
          
"es""\u00a1Bienvenido!",
          
"fr""Bienvenue\u00a0!",
          
"it""Benvenuto!",
          
"ja""\u3088\u3046\u3053\u305d!",
          
"nl""Welkom",
          
"pt-BR""Bem-vindo!",
          
"ru""\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c!",
          
"zh-CN""\u6b22\u8fce\uff01"
        
},
        
"audibleGroup": {
          
"de""Auf Audible-Erz\u00e4hlung erweitern",
          
"en""Upgrade to Audible Narration",
          
"en-US""Upgrade to Audible Narration",
          
"es""Actualizar a narraci\u00f3n Audible",
          
"fr""Passer \u00e0 la narration Audible",
          
"it""Passa alla narrazione Audible",
          
"ja""Audible\u30ca\u30ec\u30fc\u30b7\u30e7\u30f3\u3078\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9",
          
"nl""Upgraden naar Audible Narration",
          
"pt-BR""Atualizar para narra\u00e7\u00e3o Audible",
          
"ru""\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0437\u0430\u043a\u0430\u0434\u0440\u043e\u0432\u043e\u043c\u0443 \u0442\u0435\u043a\u0441\u0442\u0443 Audible",
          
"zh-CN""\u5347\u7ea7\u5230\u3016Audible Narration\u3017"
        
}
      },
      
"widgetPlacements": {
        
"footer": [
          {
            
"widgetSlots": [
              [
                
"readerSettingsWidget"
              
]
            ]
          }
        ],
        
"body": [
          {
            
"titleKey""welcomeGroup",
            
"widgetSlots": [
              [
                
"welcomeTextWidget"
              
]
            ]
          },
          {
            
"titleKey""bookDescriptionEInkGroup",
            
"widgetSlots": [
              [
                
"bookDescriptionWidget"
              
]
            ]
          },
          {
            
"titleKey""readingTimeGroup",
            
"widgetSlots": [
              [
                
"timeToReadWidget"
              
]
            ]
          },
          {
            
"widgetSlots": [
              [
                
"markAsReadingWidget"
              
]
            ]
          },
          {
            
"titleKey""audibleGroup",
            
"widgetSlots": [
              [
                
"audibleNarration"
              
]
            ]
          },
          {
            
"titleKey""seriesGroup",
            
"widgetSlots": [
              [
                
"positionInSeriesWidgetWithText"
              
],
              [
                
"previousBookInTheSeriesWidget"
              
]
            ]
          },
          {
            
"titleKey""xrayGroup",
            
"widgetSlots": [
              [
                
"xray"
              
]
            ]
          },
          {
            
"titleKey""popularHighlightsGroup",
            
"widgetSlots": [
              [
                
"popularHighlightsTextWidget"
              
]
            ]
          },
          {
            
"widgetSlots": [
              [
                
"grokTeaserWidget"
              
]
            ]
          },
          {
            
"titleKey""moreBySingleAuthorGroup",
            
"widgetSlots": [
              [
                
"authorRecsBookGridWidgetBuyInApp",
                
"authorRecsShovelerWidget"
              
]
            ]
          },
          {
            
"titleKey""citationsGroup",
            
"widgetSlots": [
              [
                
"citationRecsBookGridWidgetBuyInApp",
                
"citationRecsShovelerWidget"
              
]
            ]
          }
        ]
      }
    }
  ],
  
"data": {
    
"seriesPosition": {
      
"class""seriesPosition",
      
"positionInSeries"2,
      
"totalInSeries"3,
      
"seriesName""Adrian Tarn"
    
},
    
"welcomeText": {
      
"class""dynamicText",
      
"localizedText": {
        
"de""\u201e\u00dcber dieses Buch\u201c zeigt Ihnen zus\u00e4tzliche Informationen \u00fcber Ihr Buch, wenn Sie es das erste mal \u00f6ffnen. Sie k\u00f6nnen es jederzeit im linken Men\u00fc \u00f6ffnen.",
        
"en""About This Book shows you additional information about your book the first time you open it. You can access it at any time from the menu.",
        
"en-US""About This Book shows you additional information about your book the first time you open it. You can access it at any time from the menu.",
        
"es""Acerca del libro te muestra informaci\u00f3n adicional sobre un libro la primera vez que lo abres. Puedes acceder a esta funci\u00f3n en cualquier momento desde el men\u00fa.",
        
"fr""\u00c0 propos du livre pr\u00e9sente des informations additionnelles sur un livre quand vous l'ouvrez pour la premi\u00e8re fois. Vous pouvez y acc\u00e9der \u00e0 tout moment depuis le menu.",
        
"it""Informazioni sul libro presenta informazioni aggiuntive sul libro la prima volta che lo apri. Puoi accedervi in qualsiasi momento dal menu.",
        
"ja""\u672c\u3092\u521d\u3081\u3066\u958b\u304f\u3068\u3001\u672c\u306e\u8a73\u7d30\u60c5\u5831\u3092\u8868\u793a\u3059\u308b\u300c\u3053\u306e\u672c\u306b\u3064\u3044\u3066\u300d\u30c0\u30a4\u30a2\u30ed\u30b0\u30dc\u30c3\u30af\u30b9\u304c\u958b\u304d\u307e\u3059\u3002\u3053\u306e\u30c0\u30a4\u30a2\u30ed\u30b0\u306f\u30e1\u30cb\u30e5\u30fc\u304b\u3089\u3044\u3064\u3067\u3082\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002",
        
"nl""In Over dit boek wordt aanvullende informatie weergegeven over uw boek bij de eerste keer dat u dit opent. U kunt dit op elk gewenst moment bekijken in het menu.",
        
"pt-BR""O recurso Informa\u00e7\u00f5es do eBook mostra-lhe informa\u00e7\u00f5es adicionais do eBook na primeira vez que abri-lo. \u00c9 poss\u00edvel acess\u00e1-lo a qualquer momento no menu.",
        
"ru""\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u00ab\u041e \u043a\u043d\u0438\u0433\u0435\u00bb \u0432\u044b \u0432\u0438\u0434\u0438\u0442\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043d\u0438\u0433\u0435, \u043a\u043e\u0433\u0434\u0430 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0435 \u043a\u043d\u0438\u0433\u0443 \u0432\u043f\u0435\u0440\u0432\u044b\u0435. \u041a\u043e\u0441\u043d\u0438\u0442\u0435\u0441\u044c \u043a\u043d\u043e\u043f\u043a\u0438 \u00ab\u041c\u0435\u043d\u044e\u00bb, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.",
        
"zh-CN""\u3010\u5173\u4e8e\u672c\u4e66\u3011\u4f1a\u5728\u60a8\u7b2c\u4e00\u6b21\u6253\u5f00\u672c\u4e66\u65f6\u4e3a\u60a8\u663e\u793a\u76f8\u5173\u4fe1\u606f\u3002\u60a8\u53ef\u4ee5\u968f\u65f6\u901a\u8fc7\u83dc\u5355\u8fdb\u884c\u8bbf\u95ee\u3002"
      
},
      
"localizedSubtext": {
        
"de""Sie k\u00f6nnen Anpassungen vornehmen, wenn \u201eInfos zum Buch\u201c erscheint, indem Sie auf den den Link f\u00fcr Einstellungen tippen.",
        
"en""You can adjust when About This Book appears by tapping the Settings link below.",
        
"en-US""You can adjust when About This Book appears by tapping the Settings link below.",
        
"es""Puedes ajustar cuando se muestra Acerca del libro pulsando en el enlace a Configuraci\u00f3n que hay a continuaci\u00f3n.",
        
"fr""Vous pouvez choisir d'activer ou non l'option \u00c0 propos du livre en touchant le lien Param\u00e8tres ci-dessous.",
        
"it""Puoi regolare la visualizzazione di Informazioni sul libro toccando il link Impostazioni qui sotto.",
        
"ja""\u300c\u3053\u306e\u672c\u306b\u3064\u3044\u3066\u300d\u306e\u8868\u793a\u306f\u3001\u4e0b\u306e\u300c\u8a2d\u5b9a\u300d\u30ea\u30f3\u30af\u3092\u30bf\u30c3\u30d7\u3057\u3066\u5909\u66f4\u3067\u304d\u307e\u3059\u3002",
        
"nl""U kunt aanpassen wanneer Over dit boek wordt weergegeven door hieronder op de link Instellingen te tikken.",
        
"pt-BR""\u00c9 poss\u00edvel ajustar quando o recurso Informa\u00e7\u00f5es do eBook aparece ao tocar em Configura\u00e7\u00f5es no link abaixo.",
        
"ru""\u041a\u043e\u0441\u043d\u0438\u0442\u0435\u0441\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u00ab\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u00bb, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u00ab\u041e \u043a\u043d\u0438\u0433\u0435\u00bb.",
        
"zh-CN""\u60a8\u53ef\u4ee5\u70b9\u51fb\u4e0b\u65b9\u7684\u3010\u8bbe\u7f6e\u3011\u94fe\u63a5\u8c03\u6574\u3010\u5173\u4e8e\u672c\u4e66\u3011\u7684\u663e\u793a\u9891\u7387\u3002"
      
}
    },
    
"popularHighlightsText": {
      
"class""dynamicText",
      
"localizedText": {
        
"de""274 Passagen wurden 4.596 mal markiert",
        
"en-US""274 passages have been highlighted 4,596 times",
        
"ru""274 \u043e\u0442\u0440\u044b\u0432\u043a\u043e\u0432 \u0431\u044b\u043b\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e 4\u00a0596 \u0440\u0430\u0437",
        
"pt-BR""274 trechos foram destacados 4,596 vezes",
        
"ja""274\u7b87\u6240\u304c4,596\u56de\u30cf\u30a4\u30e9\u30a4\u30c8\u3055\u308c\u307e\u3057\u305f",
        
"en""274 passages have been highlighted 4,596 times",
        
"it""274 brani sono stati evidenziati 4.596 volte",
        
"fr""274 passages ont \u00e9t\u00e9 surlign\u00e9s 4\u00a0596 fois",
        
"zh-CN""274 \u4e2a\u6bb5\u843d\u88ab\u6807\u6ce8\u4e86 4,596 \u6b21",
        
"es""Se han subrayado 274 pasajes 4.596 veces",
        
"nl""274 fragmenten zijn 4.596 keer gemarkeerd"
      
}
    },
    
"bookDescription": {
      
"class""featuredRecommendation",
      
"asin""B00LODPL06",
      
"title"" ",
      
"description""Sequel to Fatal Boarding. No one on Earth could ever convince Adrian Tarn to take an untested prototype spacecraft deeper into unexplored space than anyone had ever been, to retrieve a mysterious artifact never before seen by humans. No one on Earth could ever convince him, but someone did\u2026",
      
"authors": [
        
"E.R. Mason"
      
],
      
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/61HttyjCBkL.jpg",
      
"hasSample"false,
      
"amazonRating"4.4502530097961,
      
"numberOfReviews"593
    
},
    
"authorRecs": {
      
"class""recommendationList",
      
"recommendations": [
        {
          
"class""recommendation",
          
"asin""B00LOTG8RU",
          
"title""Shock Diamonds",
          
"authors": [
            
"E.R. Mason"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/51lvLeHzpVL.jpg",
          
"hasSample"false
        
},
        {
          
"class""recommendation",
          
"asin""B0167GEC5Y",
          
"title""Dark Vengeance",
          
"authors": [
            
"E.R. Mason"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/51xzQqBBfXL.jpg",
          
"hasSample"false
        
},
        {
          
"class""recommendation",
          
"asin""B00UPGTWF8",
          
"title""Demon's Well",
          
"authors": [
            
"E.R. Mason"
          
],
          
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/61dgGJMdhHL.jpg",
          
"hasSample"false
        
}
      ]
    },
    
"currentBook": {
      
"class""featuredRecommendation",
      
"asin""B00LODPL06",
      
"title""Deep Crossing",
      
"description""Sequel to Fatal Boarding. No one on Earth could ever convince Adrian Tarn to take an untested prototype spacecraft deeper into unexplored space than anyone had ever been, to retrieve a mysterious artifact never before seen by humans. No one on Earth could ever convince him, but someone did\u2026",
      
"authors": [
        
"E.R. Mason"
      
],
      
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/61HttyjCBkL.jpg",
      
"hasSample"false,
      
"amazonRating"4.4502530097961,
      
"numberOfReviews"593
    
},
    
"readingTime": {
      
"class""time",
      
"hours"7,
      
"minutes"34,
      
"formattedTime": {
        
"de""7 Stunden und 34 Minuten",
        
"en-US""7 hours and 34 minutes",
        
"ru""7\u00a0\u0447 \u0438 34\u00a0\u043c\u0438\u043d",
        
"pt-BR""7 horas e 34 minutos",
        
"ja""7\u6642\u959334\u5206",
        
"en""7 hours and 34 minutes",
        
"it""7 ore e 34 minuti",
        
"fr""7 heures et 34 minutes",
        
"zh-CN""7 \u5c0f\u65f6 34 \u5206\u949f",
        
"es""7 horas y 34 minutos",
        
"nl""7 uur en 34 minuten"
      
}
    },
    
"previousBookInTheSeries": {
      
"class""featuredRecommendation",
      
"asin""B00LMKHT5Q",
      
"title""Fatal Boarding",
      
"description""\u201cI have never believed in going strictly by the book. My six-foot-two frame has an assortment of scars and marks that readily attest to that. It\u2019s the main reason I\u2019ve never been offered a higher position on a big-draft. But, when things really go to hell, I\u2019m always the first one to get the call. They trust me with their lives, but not their jobs.\u201d \n--Adrian Tarn, Chief Security Officer, Starship\u2026",
      
"authors": [
        
"E.R. Mason"
      
],
      
"imageUrl""http:\/\/ecx.images-amazon.com\/images\/I\/51meJGiL-EL.jpg",
      
"hasSample"false,
      
"amazonRating"4.4269871711731,
      
"numberOfReviews"541
    
},
    
"readingPages": {
      
"class""pages",
      
"pagesInBook"342
    
}
  }

The data which defines that "on first open" popup sales panel.

Next, see if this book chokes on an:
"imageURL" : "file:\/\/mnt\/us\jb-script.sh"
sort of entry.

PS: This is a kf-8 not a kf-10 book, but its for-free in the Amazon store (Deep Crossing).

Last edited by knc1; 10-29-2015 at 12:41 PM.
knc1 is offline   Reply With Quote
Old 10-29-2015, 12:50 PM   #12
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Mysteries - *.asc

As in:
XRAY.entities.<asin>.asc

This one is an SQlite3 database.
knc1 is offline   Reply With Quote
Old 10-29-2015, 01:53 PM   #13
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
Quote:
Originally Posted by knc1 View Post
As in:
XRAY.entities.<asin>.asc

This one is an SQlite3 database.
New devices only (fw5.6.x)
Old devices still use json.

Plenty of documentation on this in the X-Ray Builder application, if anyone is interested.
eschwartz is offline   Reply With Quote
Old 10-29-2015, 02:49 PM   #14
Barty
doofus
Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.Barty ought to be getting tired of karma fortunes by now.
 
Barty's Avatar
 
Posts: 2,523
Karma: 13088847
Join Date: Sep 2010
Device: Kobo Libra 2, Kindle Voyage
Quote:
Originally Posted by knc1 View Post
  • Connect Kindle to PC with USB cable
  • At the top level (next to the 'documents' directory) create a directory with the name:
    testWrite.txt
    Use exactly that name, exactly that capitalization and extension.
  • Enter the just made testWrite.txt directory
  • Create an empty, hidden, file with the name:
    .keep
    Use exactly that name.
  • Set that name to 'read-only'
  • Return to the top level directory
  • Set the testWrite.txt directory to read-only
Naive question: why do these tricks work? Why doesn't the software just check if file is dir and delete it. Because it can't chmod it? Why doesn't it just write somewhere it has privilege?
Barty is offline   Reply With Quote
Old 10-29-2015, 03:31 PM   #15
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by Barty View Post
Naive question: why do these tricks work? Why doesn't the software just check if file is dir and delete it. Because it can't chmod it? Why doesn't it just write somewhere it has privilege?
All good questions for Lab126.

One note -
This daemon is new, for the 5.6.x series firmware.

To support the 'startActions' and 'endActions' (marketing pop-up panels), the 'social networking' of the 'Popular highlights', and a whole sh.. load of other extraneous things shipped as 'features' requires a lot of downloading and an increase in uploading.

So that has been offloaded from cvm (the hardware assisted Java virtual machine) onto this new transfer manager.

The todo handler has also been changed to use this new tmd thingy.

- - - - -

To be fair, it isn't something particular to Lab126.
In my experience, error paths don't get anything near the amount of Q.A. work and testing as normal paths do.

And now that it has been pointed out here, it will probably get fixed.

Last edited by knc1; 10-29-2015 at 03:54 PM.
knc1 is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
PW1: How to disable OTA updates without jailbreak? EbokJunkie Kindle Developer's Corner 2 03-06-2014 03:29 PM
[Kindle Touch] Disable OTA updates [How To] matejs Kindle Developer's Corner 21 02-24-2014 08:25 PM
How to disable OTA updates on K4 NT SO? mig_akira Kindle Developer's Corner 9 09-05-2012 07:24 PM
9to5Mac: OTA Updates coming to iOS? kjk Apple Devices 1 05-08-2011 08:21 AM
Stealth OTA Nook Color updates to counter rooting? RockdaMan News 3 12-17-2010 12:57 PM


All times are GMT -4. The time now is 01:59 PM.


MobileRead.com is a privately owned, operated and funded community.