spotify 12.3.0 → 12.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/CHANGELOG.md +19 -0
  2. data/Gemfile +1 -0
  3. data/README.markdown +29 -10
  4. data/Rakefile +10 -3
  5. data/examples/.gitignore +4 -0
  6. data/examples/README.md +15 -0
  7. data/examples/audio-stream.rb +170 -0
  8. data/examples/logging-in.rb +95 -0
  9. data/lib/spotify.rb +2 -1
  10. data/lib/spotify/error.rb +4 -1
  11. data/lib/spotify/managed_pointer.rb +53 -23
  12. data/lib/spotify/monkey_patches/ffi_pointer.rb +18 -0
  13. data/lib/spotify/structs.rb +14 -0
  14. data/lib/spotify/structs/session_callbacks.rb +2 -2
  15. data/lib/spotify/structs/session_config.rb +1 -1
  16. data/lib/spotify/types/image_id.rb +33 -26
  17. data/lib/spotify/types/nul_string.rb +23 -34
  18. data/lib/spotify/types/utf8_string.rb +19 -25
  19. data/lib/spotify/util.rb +1 -0
  20. data/lib/spotify/version.rb +1 -2
  21. data/spec/bench_helper.rb +29 -0
  22. data/spec/benchmarks/managed_pointer_bench.rb +32 -0
  23. data/spec/spec_helper.rb +1 -1
  24. data/spec/spotify/api/functions_spec.rb +67 -0
  25. data/spec/spotify/api_spec.rb +14 -58
  26. data/spec/spotify/defines_spec.rb +1 -1
  27. data/spec/spotify/managed_pointer_spec.rb +60 -11
  28. data/spec/spotify/monkey_patches/ffi_pointer_spec.rb +9 -0
  29. data/spec/spotify/types/nul_string_spec.rb +3 -3
  30. data/spec/{api-linux.h → support/api-linux.h} +0 -0
  31. data/spec/support/api-linux.xml +1893 -0
  32. data/spec/{api-mac.h → support/api-mac.h} +0 -0
  33. data/spec/{api-mac.xml → support/api-mac.xml} +0 -0
  34. data/spec/support/hook_spotify.rb +1 -1
  35. data/spec/{linux-platform.rb → support/linux-platform.rb} +0 -0
  36. data/spec/{mac-platform.rb → support/mac-platform.rb} +0 -0
  37. metadata +58 -46
  38. data/LICENSE +0 -19
  39. data/spec/api-linux.xml +0 -1887
data/spec/spec_helper.rb CHANGED
@@ -9,7 +9,7 @@ require 'spec/support/spotify_util'
9
9
  # You can pregenerate new XML files through:
10
10
  # gccxml spec/api-mac.h -fxml=spec/api-mac.xml
11
11
  # gccxml spec/api-linux.h -fxml=spec/api-linux.xml
12
- API_H_PATH = File.expand_path("../api-#{Spotify.platform}.h", __FILE__)
12
+ API_H_PATH = File.expand_path("../support/api-#{Spotify.platform}.h", __FILE__)
13
13
  API_H_SRC = File.read(API_H_PATH)
14
14
  API_H_XML = RbGCCXML.parse_xml(API_H_PATH.sub('.h', '.xml'))
15
15
 
@@ -0,0 +1,67 @@
1
+ describe "Spotify functions" do
2
+ def type_of(type, return_type = false)
3
+ return case type.to_cpp
4
+ when "const char*"
5
+ Spotify::UTF8String
6
+ when /\A(::)?(char|int|size_t|bool|sp_scrobbling_state|sp_session\*|byte)\*/
7
+ return_type ? :pointer : :buffer_out
8
+ when /::(.+_cb)\*/
9
+ $1.to_sym
10
+ when /::(\w+)\*\*/
11
+ :array
12
+ when /::sp_(\w+)\*/
13
+ const_name = $1.delete('_')
14
+ real_const = Spotify.constants.find { |const| const =~ /#{const_name}\z/i }
15
+ Spotify.const_get(real_const)
16
+ else
17
+ :pointer
18
+ end if type.is_a?(RbGCCXML::PointerType)
19
+
20
+ case type["name"]
21
+ when "unsigned int"
22
+ :uint
23
+ else
24
+ type["name"].sub(/\Asp_/, '').to_sym
25
+ end
26
+ end
27
+
28
+ API_H_XML.functions.each do |func|
29
+ next unless func["name"] =~ /\Asp_/
30
+ attached_name = func["name"].sub(/\Asp_/, '')
31
+
32
+ # We test several things in this test because if we make the assertions
33
+ # into separate tests there’s just too much noise on failure (e.g. when
34
+ # additional functions are added, all assertions would fail)
35
+ specify(func["name"]) do
36
+ # it should be attached
37
+ Spotify.should respond_to attached_name
38
+
39
+ # expect the correct number of arguments
40
+ $attached_methods[attached_name][:args].count.
41
+ should eq func.arguments.count
42
+
43
+ # each argument has the right type
44
+ current = $attached_methods[attached_name][:args]
45
+ actual = func.arguments.map { |arg| type_of(arg.cpp_type) }
46
+
47
+ current = current.map { |x| Spotify.resolve_type(x) }
48
+ actual = actual.map { |x| Spotify.resolve_type(x) }
49
+
50
+ current.should eq actual
51
+
52
+ # returns the correct type
53
+ current_type = $attached_methods[attached_name][:returns]
54
+ actual_type = type_of(func.return_type, true)
55
+
56
+ # loosen restraints on some return types, we don’t have enough info from header file
57
+ current_type = Spotify.resolve_type(current_type)
58
+ actual_type = Spotify.resolve_type(actual_type)
59
+
60
+ if actual_type.is_a?(Class) and actual_type <= Spotify::ManagedPointer and attached_name !~ /create/
61
+ current_type.should eq actual_type::Retaining
62
+ else
63
+ current_type.should eq actual_type
64
+ end
65
+ end
66
+ end
67
+ end
@@ -1,62 +1,18 @@
1
- describe "Spotify functions" do
2
- API_H_XML.functions.each do |func|
3
- next unless func["name"] =~ /\Asp_/
4
- attached_name = func["name"].sub(/\Asp_/, '')
5
-
6
- def type_of(type, return_type = false)
7
- return case type.to_cpp
8
- when "const char*"
9
- Spotify::UTF8String
10
- when /\A(::)?(char|int|size_t|bool|sp_scrobbling_state|sp_session\*|byte)\*/
11
- return_type ? :pointer : :buffer_out
12
- when /::(.+_cb)\*/
13
- $1.to_sym
14
- when /::(\w+)\*\*/
15
- :array
16
- when /::sp_(\w+)\*/
17
- const_name = $1.delete('_')
18
- real_const = Spotify.constants.find { |const| const =~ /#{const_name}\z/i }
19
- Spotify.const_get(real_const)
20
- else
21
- :pointer
22
- end if type.is_a?(RbGCCXML::PointerType)
23
-
24
- case type["name"]
25
- when "unsigned int"
26
- :uint
27
- else
28
- type["name"].sub(/\Asp_/, '').to_sym
1
+ describe Spotify::API do
2
+ describe ".platform" do
3
+ it "prints a warning containing the OS if platform unknown" do
4
+ old_platform = FFI::Platform::OS.dup
5
+ $stderr, old_stderr = StringIO.new, $stderr
6
+
7
+ begin
8
+ FFI::Platform::OS.replace "LAWL"
9
+ Spotify.platform
10
+ $stderr.rewind
11
+ $stderr.read.should include "LAWL"
12
+ ensure
13
+ $stderr = old_stderr
14
+ FFI::Platform::OS.replace(old_platform)
29
15
  end
30
16
  end
31
-
32
- # We test several things in this test because if we make the assertions
33
- # into separate tests there’s just too much noise on failure.
34
- specify(func["name"]) do
35
- # it should be attached
36
- Spotify.should respond_to attached_name
37
-
38
- # expect the correct number of arguments
39
- $attached_methods[attached_name][:args].count.
40
- should eq func.arguments.count
41
-
42
- # each argument has the right type
43
- current = $attached_methods[attached_name][:args]
44
- actual = func.arguments.map { |arg| type_of(arg.cpp_type) }
45
-
46
- current = current.map { |x| Spotify.resolve_type(x) }
47
- actual = actual.map { |x| Spotify.resolve_type(x) }
48
-
49
- current.should eq actual
50
-
51
- # returns the correct type
52
- current_type = $attached_methods[attached_name][:returns]
53
- actual_type = type_of(func.return_type, true)
54
-
55
- # loosen restraints on some return types, we don’t have enough info from header file
56
- current_type = Spotify.resolve_type(current_type)
57
- actual_type = Spotify.resolve_type(actual_type)
58
-
59
- current_type.should eq actual_type
60
- end
61
17
  end
62
18
  end
@@ -11,7 +11,7 @@ describe "Spotify enums" do
11
11
  it "should match the definition" do
12
12
  attached_enum_map = attached_enum.symbol_map.dup
13
13
  original_enum.each do |(name, value)|
14
- a_name, a_value = attached_enum_map.max_by { |(n, v)| (n.to_s.length if name.match(n.to_s)).to_i }
14
+ a_name, a_value = attached_enum_map.max_by { |(n, _)| (n.to_s.length if name.match(n.to_s)).to_i }
15
15
  attached_enum_map.delete(a_name)
16
16
  a_value.to_s.should eq value
17
17
  end
@@ -1,24 +1,73 @@
1
1
  # coding: utf-8
2
2
  describe Spotify::ManagedPointer do
3
- it "is equal to it’s retaining class" do
4
- Spotify::User.should eq Spotify::User.retaining_class
5
- Spotify::User.retaining_class.should eq Spotify::User
3
+ let(:klass) { described_class }
4
+ let(:null) { FFI::Pointer::NULL }
5
+ let(:pointer) { FFI::Pointer.new(1) }
6
+ let(:subject) do
7
+ Class.new(Spotify::ManagedPointer) do
8
+ def initialize(*)
9
+ super
10
+ self.autorelease = false
11
+ end
12
+
13
+ def self.name
14
+ "Anonymous"
15
+ end
16
+ end
6
17
  end
7
18
 
8
19
  it "adds a ref if it is a retaining class" do
9
- api.should_receive(:user_add_ref)
10
- ptr = Spotify::User.retaining_class.new(FFI::Pointer.new(1))
11
- ptr.autorelease = false # avoid auto-GC after test
20
+ api.should_receive(:anonymous_add_ref)
21
+ subject.retaining_class.new(FFI::Pointer.new(1))
12
22
  end
13
23
 
14
24
  it "does not add or release when the pointer is null" do
15
- api.should_not_receive(:user_add_ref)
16
- api.should_not_receive(:user_release)
25
+ api.should_not_receive(:anonymous_add_ref)
26
+ api.should_not_receive(:anonymous_release)
17
27
 
18
- ptr = Spotify::User.retaining_class.new(FFI::Pointer::NULL)
28
+ ptr = subject.retaining_class.new(FFI::Pointer::NULL)
19
29
  ptr.free
20
30
  end
21
31
 
32
+ describe "#release" do
33
+ it "wraps the release pointer properly to avoid type-failures" do
34
+ api.should_receive(:anonymous_release).and_return do |pointer|
35
+ pointer.should be_instance_of(subject)
36
+ pointer.should_not be_autorelease # autorelease should be off
37
+ end
38
+
39
+ ptr = subject.new(FFI::Pointer.new(1))
40
+ ptr.free
41
+ end
42
+ end
43
+
44
+ describe ".to_native" do
45
+ it "does not accept null pointers" do
46
+ expect { subject.to_native(nil, nil) }.to raise_error(TypeError, /cannot be null/)
47
+ expect { subject.to_native(Spotify::Session.new(null), nil) }.to raise_error(TypeError, /cannot be null/)
48
+ end
49
+
50
+ it "does not accept pointers of another type" do
51
+ expect { subject.to_native(pointer, nil) }.to raise_error(TypeError, /expected a kind of Anonymous/)
52
+ expect { subject.to_native(Spotify::Session.new(pointer), nil) }.to raise_error(TypeError, /expected a kind of Anonymous/)
53
+ end
54
+
55
+ it "accepts pointers of the same kind, or a subkind" do
56
+ api.stub(:anonymous_add_ref)
57
+
58
+ retaining = subject.retaining_class.new(pointer)
59
+ retaining.autorelease = false
60
+
61
+ regular = subject.new(pointer)
62
+ regular.autorelease = false
63
+
64
+ expect { subject.to_native(retaining, nil) }.to_not raise_error
65
+ expect { subject.to_native(regular, nil) }.to_not raise_error
66
+ expect { subject.retaining_class.to_native(retaining, nil) }.to_not raise_error
67
+ expect { subject.retaining_class.to_native(regular, nil) }.to_not raise_error
68
+ end
69
+ end
70
+
22
71
  describe "garbage collection" do
23
72
  module Spotify
24
73
  class << API
@@ -56,7 +105,7 @@ describe Spotify::ManagedPointer do
56
105
  it "#{klass.name} has a valid retain method" do
57
106
  Spotify.should_receive(:public_send).and_return do |method, *args|
58
107
  Spotify.should respond_to(method)
59
- method.should match /_add_ref$/
108
+ method.should match(/_add_ref$/)
60
109
  end
61
110
 
62
111
  klass.retain(FFI::Pointer.new(1))
@@ -65,7 +114,7 @@ describe Spotify::ManagedPointer do
65
114
  it "#{klass.name} has a valid release method" do
66
115
  Spotify.should_receive(:public_send).and_return do |method, *args|
67
116
  Spotify.should respond_to(method)
68
- method.should match /_release$/
117
+ method.should match(/_release$/)
69
118
  end
70
119
 
71
120
  klass.release(FFI::Pointer.new(1))
@@ -0,0 +1,9 @@
1
+ describe "#read_size_t" do
2
+ it "is defined on FFI::Pointer" do
3
+ FFI::Pointer.new(0).should respond_to(:read_size_t)
4
+ end
5
+
6
+ it "is defined on FFI::Buffer" do
7
+ FFI::Buffer.new(0).should respond_to(:read_size_t)
8
+ end
9
+ end
@@ -5,14 +5,14 @@ describe Spotify::NULString do
5
5
  pointer.read_string.should eq "coolio"
6
6
  end
7
7
 
8
- it "returns a null pointer when given nil" do
8
+ it "returns nil when given nil" do
9
9
  pointer = Spotify::NULString.to_native(nil, nil)
10
- pointer.should be_null
10
+ pointer.should be_nil
11
11
  end
12
12
 
13
13
  it "raises an error when given a non-string" do
14
14
  expect { Spotify::NULString.to_native({}, nil) }
15
- .to raise_error(TypeError)
15
+ .to raise_error(NoMethodError, /to_str/)
16
16
  end
17
17
  end
18
18
 
File without changes
@@ -0,0 +1,1893 @@
1
+ <?xml version="1.0"?>
2
+ <GCC_XML cvs_revision="1.135">
3
+ <Namespace id="_1" name="::" members="_3 _4 _5 _6 _8 _9 _10 _12 _13 _14 _15 _16 _17 _18 _20 _19 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 _32 _33 _34 _35 _36 _37 _38 _39 _40 _41 _42 _43 _44 _45 _46 _47 _48 _50 _51 _52 _53 _55 _54 _56 _57 _58 _59 _61 _63 _62 _64 _65 _66 _67 _68 _70 _69 _71 _72 _73 _74 _76 _75 _77 _79 _78 _80 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _94 _95 _96 _97 _98 _100 _99 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _115 _116 _117 _118 _119 _120 _121 _122 _124 _123 _125 _126 _127 _129 _130 _131 _132 _133 _134 _135 _136 _137 _138 _140 _139 _141 _142 _143 _144 _145 _146 _147 _148 _149 _150 _151 _153 _152 _154 _155 _156 _157 _159 _160 _161 _162 _163 _164 _165 _166 _168 _169 _170 _171 _172 _174 _173 _175 _176 _177 _178 _179 _180 _181 _182 _183 _184 _185 _186 _187 _188 _189 _190 _191 _192 _194 _193 _195 _196 _198 _199 _200 _201 _202 _203 _204 _205 _206 _207 _208 _210 _209 _211 _212 _213 _214 _215 _217 _216 _219 _218 _220 _222 _221 _223 _224 _225 _226 _227 _228 _230 _229 _231 _232 _233 _234 _236 _237 _239 _240 _241 _242 _243 _245 _244 _247 _246 _248 _249 _250 _251 _252 _253 _254 _256 _257 _258 _259 _260 _262 _261 _263 _264 _265 _266 _267 _268 _269 _270 _272 _271 _273 _2 _274 _275 _276 _277 _278 _279 _280 _281 _282 _283 _284 _285 _286 _287 _289 _291 _290 _292 _293 _294 _295 _296 _297 _298 _300 _301 _302 _303 _304 _305 _306 _307 _309 _310 _311 _312 _313 _314 _315 _316 _317 _318 _319 _320 _321 _322 _324 _326 _325 _327 _299 _328 _329 _330 _331 _332 _334 _333 _335 _336 _337 _339 _338 _340 _341 _342 _344 _343 _345 _346 _348 _347 _349 _350 _351 _352 _353 _354 _355 _356 _357 _358 _359 _360 _362 _363 _364 _365 _366 _368 _369 _370 _371 _372 _373 _374 _375 _376 _377 _378 _379 _380 _381 _383 _382 _385 _384 _386 _387 _389 _388 _390 _391 _392 _393 _394 _396 _395 _397 _398 _399 _400 _401 _403 _402 _404 _405 _406 _288 _407 _238 _408 _409 _410 _412 _413 _414 _415 _416 _417 _418 _419 _420 _422 _421 _423 _424 _425 _426 _427 _428 _11 _323 _429 _430 _431 _432 _433 _434 _435 _436 _437 _439 _438 _440 _441 _442 _443 _445 _444 _446 _447 _448 _449 _451 _452 _453 _454 _455 _457 _456 _458 _459 _460 _461 _462 _463 _464 _465 _466 _467 _468 _470 _471 _472 _473 _474 _475 _476 _477 _478 _479 _480 _481 _482 _484 _483 _485 _486 _487 _488 _489 _490 _491 _492 _493 _494 " mangled="_Z2::" demangled="::"/>
4
+ <Namespace id="_2" name="std" context="_1" members="" mangled="_Z3std" demangled="std"/>
5
+ <Function id="_3" name="sp_playlist_set_collaborative" returns="_445" context="_1" location="f0:3060" file="f0" line="3060" extern="1">
6
+ <Argument name="playlist" type="_495" location="f0:3060" file="f0" line="3060"/>
7
+ <Argument name="collaborative" type="_496" location="f0:3060" file="f0" line="3060"/>
8
+ </Function>
9
+ <Function id="_4" name="__builtin_nans" returns="_497" context="_1" location="f1:21" file="f1" line="21" extern="1" attributes="nothrow const nonnull">
10
+ <Argument name="str" type="_498" location="f1:21" file="f1" line="21"/>
11
+ </Function>
12
+ <Function id="_5" name="__builtin_acosf" returns="_499" context="_1" mangled="acosf" location="f1:25" file="f1" line="25" extern="1" attributes="nothrow pure no vops">
13
+ <Argument type="_499" location="f1:25" file="f1" line="25"/>
14
+ </Function>
15
+ <Function id="_6" name="__builtin_acosl" returns="_500" context="_1" mangled="acosl" location="f1:26" file="f1" line="26" extern="1" attributes="nothrow pure no vops">
16
+ <Argument type="_500" location="f1:26" file="f1" line="26"/>
17
+ </Function>
18
+ <FundamentalType id="_7" name="long long unsigned int" size="64" align="64"/>
19
+ <Typedef id="_8" name="sp_uint64" type="_491" context="_1" location="f0:50" file="f0" line="50"/>
20
+ <Function id="_9" name="sp_playlist_get_description" returns="_498" context="_1" location="f0:3084" file="f0" line="3084" extern="1">
21
+ <Argument name="playlist" type="_495" location="f0:3084" file="f0" line="3084"/>
22
+ </Function>
23
+ <Typedef id="_10" name="uint_least64_t" type="_491" context="_1" location="f2:82" file="f2" line="82"/>
24
+ <Enumeration id="_11" name="sp_albumtype" context="_1" location="f0:1787" file="f0" line="1787" size="32" align="32">
25
+ <EnumValue name="SP_ALBUMTYPE_ALBUM" init="0"/>
26
+ <EnumValue name="SP_ALBUMTYPE_SINGLE" init="1"/>
27
+ <EnumValue name="SP_ALBUMTYPE_COMPILATION" init="2"/>
28
+ <EnumValue name="SP_ALBUMTYPE_UNKNOWN" init="3"/>
29
+ </Enumeration>
30
+ <Function id="_12" name="__builtin_log10" returns="_497" context="_1" mangled="log10" location="f1:63" file="f1" line="63" extern="1" attributes="nothrow pure no vops">
31
+ <Argument type="_497" location="f1:63" file="f1" line="63"/>
32
+ </Function>
33
+ <Function id="_13" name="__builtin_popcountll" returns="_60" context="_1" location="f1:101" file="f1" line="101" extern="1" attributes="nothrow const">
34
+ <Argument type="_49" location="f1:101" file="f1" line="101"/>
35
+ </Function>
36
+ <Function id="_14" name="sp_track_duration" returns="_60" context="_1" location="f0:1706" file="f0" line="1706" extern="1">
37
+ <Argument name="track" type="_501" location="f0:1706" file="f0" line="1706"/>
38
+ </Function>
39
+ <Function id="_15" name="__builtin_clogf" returns="_502" context="_1" mangled="clogf" location="f1:111" file="f1" line="111" extern="1" attributes="nothrow pure no vops">
40
+ <Argument type="_502" location="f1:111" file="f1" line="111"/>
41
+ </Function>
42
+ <Function id="_16" name="__builtin_clogl" returns="_503" context="_1" mangled="clogl" location="f1:113" file="f1" line="113" extern="1" attributes="nothrow pure no vops">
43
+ <Argument type="_503" location="f1:113" file="f1" line="113"/>
44
+ </Function>
45
+ <Function id="_17" name="__builtin_cexpf" returns="_502" context="_1" mangled="cexpf" location="f1:108" file="f1" line="108" extern="1" attributes="nothrow pure no vops">
46
+ <Argument type="_502" location="f1:108" file="f1" line="108"/>
47
+ </Function>
48
+ <Function id="_18" name="__builtin_cexpl" returns="_503" context="_1" mangled="cexpl" location="f1:110" file="f1" line="110" extern="1" attributes="nothrow pure no vops">
49
+ <Argument type="_503" location="f1:110" file="f1" line="110"/>
50
+ </Function>
51
+ <Struct id="_19" name="sp_playlist_callbacks" context="_1" mangled="21sp_playlist_callbacks" demangled="sp_playlist_callbacks" location="f0:2749" file="f0" line="2749" artificial="1" size="416" align="32" members="_504 _505 _506 _507 _508 _509 _510 _511 _512 _513 _514 _515 _516 _517 _518 _519 _520 " bases=""/>
52
+ <Typedef id="_20" name="sp_playlist_callbacks" type="_19" context="_1" location="f0:2888" file="f0" line="2888"/>
53
+ <Function id="_21" name="sp_toplistbrowse_is_loaded" returns="_496" context="_1" location="f0:3752" file="f0" line="3752" extern="1">
54
+ <Argument name="tlb" type="_521" location="f0:3752" file="f0" line="3752"/>
55
+ </Function>
56
+ <Function id="_22" name="sp_session_set_private_session" returns="_445" context="_1" location="f0:1084" file="f0" line="1084" extern="1">
57
+ <Argument name="session" type="_522" location="f0:1084" file="f0" line="1084"/>
58
+ <Argument name="enabled" type="_496" location="f0:1084" file="f0" line="1084"/>
59
+ </Function>
60
+ <Function id="_23" name="sp_user_is_loaded" returns="_496" context="_1" location="f0:3656" file="f0" line="3656" extern="1">
61
+ <Argument name="user" type="_523" location="f0:3656" file="f0" line="3656"/>
62
+ </Function>
63
+ <Function id="_24" name="sp_link_create_from_playlist" returns="_524" context="_1" location="f0:1395" file="f0" line="1395" extern="1">
64
+ <Argument name="playlist" type="_495" location="f0:1395" file="f0" line="1395"/>
65
+ </Function>
66
+ <Function id="_25" name="__builtin_asinf" returns="_499" context="_1" mangled="asinf" location="f1:28" file="f1" line="28" extern="1" attributes="nothrow pure no vops">
67
+ <Argument type="_499" location="f1:28" file="f1" line="28"/>
68
+ </Function>
69
+ <Function id="_26" name="__builtin_asinl" returns="_500" context="_1" mangled="asinl" location="f1:29" file="f1" line="29" extern="1" attributes="nothrow pure no vops">
70
+ <Argument type="_500" location="f1:29" file="f1" line="29"/>
71
+ </Function>
72
+ <Function id="_27" name="__builtin_popcount" returns="_60" context="_1" location="f1:99" file="f1" line="99" extern="1" attributes="nothrow const">
73
+ <Argument type="_60" location="f1:99" file="f1" line="99"/>
74
+ </Function>
75
+ <Function id="_28" name="sp_link_as_artist" returns="_525" context="_1" location="f0:1484" file="f0" line="1484" extern="1">
76
+ <Argument name="link" type="_524" location="f0:1484" file="f0" line="1484"/>
77
+ </Function>
78
+ <Function id="_29" name="sp_track_error" returns="_445" context="_1" location="f0:1546" file="f0" line="1546" extern="1">
79
+ <Argument name="track" type="_501" location="f0:1546" file="f0" line="1546"/>
80
+ </Function>
81
+ <Function id="_30" name="sp_playlistcontainer_get_unseen_tracks" returns="_60" context="_1" location="f0:3595" file="f0" line="3595" extern="1">
82
+ <Argument name="pc" type="_526" location="f0:3595" file="f0" line="3595"/>
83
+ <Argument name="playlist" type="_495" location="f0:3595" file="f0" line="3595"/>
84
+ <Argument name="tracks" type="_527" location="f0:3595" file="f0" line="3595"/>
85
+ <Argument name="num_tracks" type="_60" location="f0:3595" file="f0" line="3595"/>
86
+ </Function>
87
+ <Function id="_31" name="sp_toplistbrowse_release" returns="_445" context="_1" location="f0:3785" file="f0" line="3785" extern="1">
88
+ <Argument name="tlb" type="_521" location="f0:3785" file="f0" line="3785"/>
89
+ </Function>
90
+ <Function id="_32" name="__builtin_nansf" returns="_499" context="_1" location="f1:22" file="f1" line="22" extern="1" attributes="nothrow const nonnull">
91
+ <Argument name="str" type="_498" location="f1:22" file="f1" line="22"/>
92
+ </Function>
93
+ <Function id="_33" name="__builtin_nansl" returns="_500" context="_1" location="f1:23" file="f1" line="23" extern="1" attributes="nothrow const nonnull">
94
+ <Argument name="str" type="_498" location="f1:23" file="f1" line="23"/>
95
+ </Function>
96
+ <Function id="_34" name="sp_track_get_availability" returns="_300" context="_1" location="f0:1571" file="f0" line="1571" extern="1">
97
+ <Argument name="session" type="_522" location="f0:1571" file="f0" line="1571"/>
98
+ <Argument name="track" type="_501" location="f0:1571" file="f0" line="1571"/>
99
+ </Function>
100
+ <Function id="_35" name="sp_playlist_add_ref" returns="_445" context="_1" location="f0:3310" file="f0" line="3310" extern="1">
101
+ <Argument name="playlist" type="_495" location="f0:3310" file="f0" line="3310"/>
102
+ </Function>
103
+ <Function id="_36" name="__builtin_floorf" returns="_499" context="_1" mangled="floorf" location="f1:52" file="f1" line="52" extern="1" attributes="nothrow const">
104
+ <Argument type="_499" location="f1:52" file="f1" line="52"/>
105
+ </Function>
106
+ <Function id="_37" name="__builtin_floorl" returns="_500" context="_1" mangled="floorl" location="f1:53" file="f1" line="53" extern="1" attributes="nothrow const">
107
+ <Argument type="_500" location="f1:53" file="f1" line="53"/>
108
+ </Function>
109
+ <Function id="_38" name="sp_playlistcontainer_playlist_folder_name" returns="_445" context="_1" location="f0:3468" file="f0" line="3468" extern="1">
110
+ <Argument name="pc" type="_526" location="f0:3468" file="f0" line="3468"/>
111
+ <Argument name="index" type="_60" location="f0:3468" file="f0" line="3468"/>
112
+ <Argument name="buffer" type="_528" location="f0:3468" file="f0" line="3468"/>
113
+ <Argument name="buffer_size" type="_60" location="f0:3468" file="f0" line="3468"/>
114
+ </Function>
115
+ <Function id="_39" name="sp_playlist_get_offline_status" returns="_422" context="_1" location="f0:3288" file="f0" line="3288" extern="1">
116
+ <Argument name="session" type="_522" location="f0:3288" file="f0" line="3288"/>
117
+ <Argument name="playlist" type="_495" location="f0:3288" file="f0" line="3288"/>
118
+ </Function>
119
+ <Function id="_40" name="__builtin_ctanf" returns="_502" context="_1" mangled="ctanf" location="f1:123" file="f1" line="123" extern="1" attributes="nothrow pure no vops">
120
+ <Argument type="_502" location="f1:123" file="f1" line="123"/>
121
+ </Function>
122
+ <Function id="_41" name="__builtin_ctanh" returns="_529" context="_1" mangled="ctanh" location="f1:127" file="f1" line="127" extern="1" attributes="nothrow pure no vops">
123
+ <Argument type="_529" location="f1:127" file="f1" line="127"/>
124
+ </Function>
125
+ <Function id="_42" name="__builtin_ctanl" returns="_503" context="_1" mangled="ctanl" location="f1:125" file="f1" line="125" extern="1" attributes="nothrow pure no vops">
126
+ <Argument type="_503" location="f1:125" file="f1" line="125"/>
127
+ </Function>
128
+ <Function id="_43" name="__builtin_carg" returns="_497" context="_1" mangled="carg" location="f1:94" file="f1" line="94" extern="1" attributes="nothrow pure no vops">
129
+ <Argument type="_529" location="f1:94" file="f1" line="94"/>
130
+ </Function>
131
+ <Function id="_44" name="sp_playlist_owner" returns="_523" context="_1" location="f0:3037" file="f0" line="3037" extern="1">
132
+ <Argument name="playlist" type="_495" location="f0:3037" file="f0" line="3037"/>
133
+ </Function>
134
+ <Function id="_45" name="__builtin_clog" returns="_529" context="_1" mangled="clog" location="f1:112" file="f1" line="112" extern="1" attributes="nothrow pure no vops">
135
+ <Argument type="_529" location="f1:112" file="f1" line="112"/>
136
+ </Function>
137
+ <Function id="_46" name="sp_image_is_loaded" returns="_496" context="_1" location="f0:2413" file="f0" line="2413" extern="1">
138
+ <Argument name="image" type="_530" location="f0:2413" file="f0" line="2413"/>
139
+ </Function>
140
+ <Function id="_47" name="__builtin_logf" returns="_499" context="_1" mangled="logf" location="f1:66" file="f1" line="66" extern="1" attributes="nothrow pure no vops">
141
+ <Argument type="_499" location="f1:66" file="f1" line="66"/>
142
+ </Function>
143
+ <Function id="_48" name="__builtin_logl" returns="_500" context="_1" mangled="logl" location="f1:67" file="f1" line="67" extern="1" attributes="nothrow pure no vops">
144
+ <Argument type="_500" location="f1:67" file="f1" line="67"/>
145
+ </Function>
146
+ <FundamentalType id="_49" name="long long int" size="64" align="64"/>
147
+ <Typedef id="_50" name="int_fast64_t" type="_341" context="_1" location="f2:83" file="f2" line="83"/>
148
+ <Function id="_51" name="__builtin_fabs" returns="_497" context="_1" mangled="fabs" location="f1:48" file="f1" line="48" extern="1" attributes="nothrow const">
149
+ <Argument type="_497" location="f1:48" file="f1" line="48"/>
150
+ </Function>
151
+ <Function id="_52" name="__builtin_expf" returns="_499" context="_1" mangled="expf" location="f1:46" file="f1" line="46" extern="1" attributes="nothrow pure no vops">
152
+ <Argument type="_499" location="f1:46" file="f1" line="46"/>
153
+ </Function>
154
+ <Function id="_53" name="__builtin_expl" returns="_500" context="_1" mangled="expl" location="f1:47" file="f1" line="47" extern="1" attributes="nothrow pure no vops">
155
+ <Argument type="_500" location="f1:47" file="f1" line="47"/>
156
+ </Function>
157
+ <Struct id="_54" name="sp_track" context="_1" incomplete="1" mangled="8sp_track" demangled="sp_track" location="f0:68" file="f0" line="68" artificial="1" align="8"/>
158
+ <Typedef id="_55" name="sp_track" type="_54" context="_1" location="f0:68" file="f0" line="68"/>
159
+ <Function id="_56" name="sp_session_user_country" returns="_60" context="_1" location="f0:1240" file="f0" line="1240" extern="1">
160
+ <Argument name="session" type="_522" location="f0:1240" file="f0" line="1240"/>
161
+ </Function>
162
+ <Function id="_57" name="sp_track_is_autolinked" returns="_496" context="_1" location="f0:1597" file="f0" line="1597" extern="1">
163
+ <Argument name="session" type="_522" location="f0:1597" file="f0" line="1597"/>
164
+ <Argument name="track" type="_501" location="f0:1597" file="f0" line="1597"/>
165
+ </Function>
166
+ <Function id="_58" name="sp_playlist_name" returns="_498" context="_1" location="f0:3014" file="f0" line="3014" extern="1">
167
+ <Argument name="playlist" type="_495" location="f0:3014" file="f0" line="3014"/>
168
+ </Function>
169
+ <Function id="_59" name="sp_toplistbrowse_album" returns="_531" context="_1" location="f0:3825" file="f0" line="3825" extern="1">
170
+ <Argument name="tlb" type="_521" location="f0:3825" file="f0" line="3825"/>
171
+ <Argument name="index" type="_60" location="f0:3825" file="f0" line="3825"/>
172
+ </Function>
173
+ <FundamentalType id="_60" name="int" size="32" align="32"/>
174
+ <Typedef id="_61" name="int_fast32_t" type="_346" context="_1" location="f2:157" file="f2" line="157"/>
175
+ <Struct id="_62" name="sp_subscribers" context="_1" mangled="14sp_subscribers" demangled="sp_subscribers" location="f0:278" file="f0" line="278" artificial="1" size="64" align="32" members="_532 _533 _534 _535 _536 _537 " bases=""/>
176
+ <Typedef id="_63" name="sp_subscribers" type="_62" context="_1" location="f0:281" file="f0" line="281"/>
177
+ <Function id="_64" name="sp_link_create_from_string" returns="_524" context="_1" location="f0:1282" file="f0" line="1282" extern="1">
178
+ <Argument name="link" type="_498" location="f0:1282" file="f0" line="1282"/>
179
+ </Function>
180
+ <Function id="_65" name="__builtin_csqrt" returns="_529" context="_1" mangled="csqrt" location="f1:121" file="f1" line="121" extern="1" attributes="nothrow pure no vops">
181
+ <Argument type="_529" location="f1:121" file="f1" line="121"/>
182
+ </Function>
183
+ <Function id="_66" name="sp_image_add_ref" returns="_445" context="_1" location="f0:2465" file="f0" line="2465" extern="1">
184
+ <Argument name="image" type="_530" location="f0:2465" file="f0" line="2465"/>
185
+ </Function>
186
+ <Function id="_67" name="sp_session_inbox_create" returns="_495" context="_1" location="f0:986" file="f0" line="986" extern="1">
187
+ <Argument name="session" type="_522" location="f0:986" file="f0" line="986"/>
188
+ </Function>
189
+ <Function id="_68" name="__builtin_sin" returns="_497" context="_1" mangled="sin" location="f1:75" file="f1" line="75" extern="1" attributes="nothrow pure no vops">
190
+ <Argument type="_497" location="f1:75" file="f1" line="75"/>
191
+ </Function>
192
+ <Struct id="_69" name="sp_artist" context="_1" incomplete="1" mangled="9sp_artist" demangled="sp_artist" location="f0:70" file="f0" line="70" artificial="1" align="8"/>
193
+ <Typedef id="_70" name="sp_artist" type="_69" context="_1" location="f0:70" file="f0" line="70"/>
194
+ <Function id="_71" name="sp_session_get_volume_normalization" returns="_496" context="_1" location="f0:1059" file="f0" line="1059" extern="1">
195
+ <Argument name="session" type="_522" location="f0:1059" file="f0" line="1059"/>
196
+ </Function>
197
+ <Function id="_72" name="__builtin_ldexpf" returns="_499" context="_1" mangled="ldexpf" location="f1:60" file="f1" line="60" extern="1" attributes="nothrow pure no vops">
198
+ <Argument type="_499" location="f1:60" file="f1" line="60"/>
199
+ <Argument type="_60" location="f1:60" file="f1" line="60"/>
200
+ </Function>
201
+ <Function id="_73" name="__builtin_ldexpl" returns="_500" context="_1" mangled="ldexpl" location="f1:61" file="f1" line="61" extern="1" attributes="nothrow pure no vops">
202
+ <Argument type="_500" location="f1:61" file="f1" line="61"/>
203
+ <Argument type="_60" location="f1:61" file="f1" line="61"/>
204
+ </Function>
205
+ <Function id="_74" name="sp_error_message" returns="_498" context="_1" location="f0:140" file="f0" line="140" extern="1">
206
+ <Argument name="error" type="_445" location="f0:140" file="f0" line="140"/>
207
+ </Function>
208
+ <Struct id="_75" name="sp_user" context="_1" incomplete="1" mangled="7sp_user" demangled="sp_user" location="f0:77" file="f0" line="77" artificial="1" align="8"/>
209
+ <Typedef id="_76" name="sp_user" type="_75" context="_1" location="f0:77" file="f0" line="77"/>
210
+ <Function id="_77" name="sp_toplistbrowse_artist" returns="_525" context="_1" location="f0:3804" file="f0" line="3804" extern="1">
211
+ <Argument name="tlb" type="_521" location="f0:3804" file="f0" line="3804"/>
212
+ <Argument name="index" type="_60" location="f0:3804" file="f0" line="3804"/>
213
+ </Function>
214
+ <Struct id="_78" name="sp_image" context="_1" incomplete="1" mangled="8sp_image" demangled="sp_image" location="f0:76" file="f0" line="76" artificial="1" align="8"/>
215
+ <Typedef id="_79" name="sp_image" type="_78" context="_1" location="f0:76" file="f0" line="76"/>
216
+ <Function id="_80" name="sp_playlist_is_loaded" returns="_496" context="_1" location="f0:2899" file="f0" line="2899" extern="1">
217
+ <Argument name="playlist" type="_495" location="f0:2899" file="f0" line="2899"/>
218
+ </Function>
219
+ <Function id="_81" name="sp_link_create_from_album" returns="_524" context="_1" location="f0:1307" file="f0" line="1307" extern="1">
220
+ <Argument name="album" type="_531" location="f0:1307" file="f0" line="1307"/>
221
+ </Function>
222
+ <Function id="_82" name="__builtin_tanf" returns="_499" context="_1" mangled="tanf" location="f1:85" file="f1" line="85" extern="1" attributes="nothrow pure no vops">
223
+ <Argument type="_499" location="f1:85" file="f1" line="85"/>
224
+ </Function>
225
+ <Function id="_83" name="__builtin_tanh" returns="_497" context="_1" mangled="tanh" location="f1:86" file="f1" line="86" extern="1" attributes="nothrow pure no vops">
226
+ <Argument type="_497" location="f1:86" file="f1" line="86"/>
227
+ </Function>
228
+ <Function id="_84" name="__builtin_tanl" returns="_500" context="_1" mangled="tanl" location="f1:89" file="f1" line="89" extern="1" attributes="nothrow pure no vops">
229
+ <Argument type="_500" location="f1:89" file="f1" line="89"/>
230
+ </Function>
231
+ <Function id="_85" name="sp_playlist_get_image" returns="_496" context="_1" location="f0:3096" file="f0" line="3096" extern="1">
232
+ <Argument name="playlist" type="_495" location="f0:3096" file="f0" line="3096"/>
233
+ <Argument name="image" type="_538" location="f0:3096" file="f0" line="3096"/>
234
+ </Function>
235
+ <Function id="_86" name="__builtin_ceil" returns="_497" context="_1" mangled="ceil" location="f1:36" file="f1" line="36" extern="1" attributes="nothrow const">
236
+ <Argument type="_497" location="f1:36" file="f1" line="36"/>
237
+ </Function>
238
+ <Function id="_87" name="__builtin_fmodf" returns="_499" context="_1" mangled="fmodf" location="f1:54" file="f1" line="54" extern="1" attributes="nothrow pure no vops">
239
+ <Argument type="_499" location="f1:54" file="f1" line="54"/>
240
+ <Argument type="_499" location="f1:54" file="f1" line="54"/>
241
+ </Function>
242
+ <Function id="_88" name="__builtin_fmodl" returns="_500" context="_1" mangled="fmodl" location="f1:55" file="f1" line="55" extern="1" attributes="nothrow pure no vops">
243
+ <Argument type="_500" location="f1:55" file="f1" line="55"/>
244
+ <Argument type="_500" location="f1:55" file="f1" line="55"/>
245
+ </Function>
246
+ <Function id="_89" name="sp_image_error" returns="_445" context="_1" location="f0:2426" file="f0" line="2426" extern="1">
247
+ <Argument name="image" type="_530" location="f0:2426" file="f0" line="2426"/>
248
+ </Function>
249
+ <Function id="_90" name="sp_artistbrowse_num_portraits" returns="_60" context="_1" location="f0:2187" file="f0" line="2187" extern="1">
250
+ <Argument name="arb" type="_539" location="f0:2187" file="f0" line="2187"/>
251
+ </Function>
252
+ <Function id="_91" name="sp_session_relogin" returns="_445" context="_1" location="f0:785" file="f0" line="785" extern="1">
253
+ <Argument name="session" type="_522" location="f0:785" file="f0" line="785"/>
254
+ </Function>
255
+ <Function id="_92" name="sp_session_set_social_credentials" returns="_445" context="_1" location="f0:1155" file="f0" line="1155" extern="1">
256
+ <Argument name="session" type="_522" location="f0:1155" file="f0" line="1155"/>
257
+ <Argument name="provider" type="_383" location="f0:1155" file="f0" line="1155"/>
258
+ <Argument name="username" type="_498" location="f0:1155" file="f0" line="1155"/>
259
+ <Argument name="password" type="_498" location="f0:1155" file="f0" line="1155"/>
260
+ </Function>
261
+ <FundamentalType id="_93" name="signed char" size="8" align="8"/>
262
+ <Typedef id="_94" name="int_least8_t" type="_407" context="_1" location="f2:203" file="f2" line="203"/>
263
+ <Function id="_95" name="sp_inbox_post_tracks" returns="_540" context="_1" location="f0:3891" file="f0" line="3891" extern="1">
264
+ <Argument name="session" type="_522" location="f0:3891" file="f0" line="3891"/>
265
+ <Argument name="user" type="_498" location="f0:3891" file="f0" line="3891"/>
266
+ <Argument name="tracks" type="_541" location="f0:3891" file="f0" line="3891"/>
267
+ <Argument name="num_tracks" type="_60" location="f0:3891" file="f0" line="3891"/>
268
+ <Argument name="message" type="_498" location="f0:3891" file="f0" line="3891"/>
269
+ <Argument name="callback" type="_542" location="f0:3891" file="f0" line="3891"/>
270
+ <Argument name="userdata" type="_543" location="f0:3891" file="f0" line="3891"/>
271
+ </Function>
272
+ <Function id="_96" name="sp_toplistbrowse_backend_request_duration" returns="_60" context="_1" location="f0:3856" file="f0" line="3856" extern="1">
273
+ <Argument name="tlb" type="_521" location="f0:3856" file="f0" line="3856"/>
274
+ </Function>
275
+ <Function id="_97" name="sp_session_is_scrobbling" returns="_445" context="_1" location="f0:1120" file="f0" line="1120" extern="1">
276
+ <Argument name="session" type="_522" location="f0:1120" file="f0" line="1120"/>
277
+ <Argument name="provider" type="_383" location="f0:1120" file="f0" line="1120"/>
278
+ <Argument name="state" type="_544" location="f0:1120" file="f0" line="1120"/>
279
+ </Function>
280
+ <Function id="_98" name="sp_playlist_release" returns="_445" context="_1" location="f0:3319" file="f0" line="3319" extern="1">
281
+ <Argument name="playlist" type="_495" location="f0:3319" file="f0" line="3319"/>
282
+ </Function>
283
+ <Struct id="_99" name="sp_toplistbrowse" context="_1" incomplete="1" mangled="16sp_toplistbrowse" demangled="sp_toplistbrowse" location="f0:73" file="f0" line="73" artificial="1" align="8"/>
284
+ <Typedef id="_100" name="sp_toplistbrowse" type="_99" context="_1" location="f0:73" file="f0" line="73"/>
285
+ <Function id="_101" name="sp_offline_num_playlists" returns="_60" context="_1" location="f0:1207" file="f0" line="1207" extern="1">
286
+ <Argument name="session" type="_522" location="f0:1207" file="f0" line="1207"/>
287
+ </Function>
288
+ <Function id="_102" name="sp_playlistcontainer_add_ref" returns="_445" context="_1" location="f0:3571" file="f0" line="3571" extern="1">
289
+ <Argument name="pc" type="_526" location="f0:3571" file="f0" line="3571"/>
290
+ </Function>
291
+ <Function id="_103" name="__builtin_return" returns="_545" context="_1" location="f1:13" file="f1" line="13" extern="1" attributes="nothrow noreturn">
292
+ <Argument name="RESULT" type="_543" location="f1:13" file="f1" line="13"/>
293
+ </Function>
294
+ <Function id="_104" name="sp_playlistcontainer_playlist_folder_id" returns="_8" context="_1" location="f0:3480" file="f0" line="3480" extern="1">
295
+ <Argument name="pc" type="_526" location="f0:3480" file="f0" line="3480"/>
296
+ <Argument name="index" type="_60" location="f0:3480" file="f0" line="3480"/>
297
+ </Function>
298
+ <Function id="_105" name="sp_track_offline_get_status" returns="_348" context="_1" location="f0:1558" file="f0" line="1558" extern="1">
299
+ <Argument name="track" type="_501" location="f0:1558" file="f0" line="1558"/>
300
+ </Function>
301
+ <Function id="_106" name="sp_track_is_placeholder" returns="_496" context="_1" location="f0:1626" file="f0" line="1626" extern="1">
302
+ <Argument name="track" type="_501" location="f0:1626" file="f0" line="1626"/>
303
+ </Function>
304
+ <Function id="_107" name="sp_albumbrowse_num_tracks" returns="_60" context="_1" location="f0:2051" file="f0" line="2051" extern="1">
305
+ <Argument name="alb" type="_546" location="f0:2051" file="f0" line="2051"/>
306
+ </Function>
307
+ <Function id="_108" name="__builtin_sqrt" returns="_497" context="_1" mangled="sqrt" location="f1:81" file="f1" line="81" extern="1" attributes="nothrow pure no vops">
308
+ <Argument type="_497" location="f1:81" file="f1" line="81"/>
309
+ </Function>
310
+ <Function id="_109" name="__builtin_cpow" returns="_529" context="_1" mangled="cpow" location="f1:130" file="f1" line="130" extern="1" attributes="nothrow pure no vops">
311
+ <Argument type="_529" location="f1:130" file="f1" line="130"/>
312
+ <Argument type="_529" location="f1:130" file="f1" line="130"/>
313
+ </Function>
314
+ <Function id="_110" name="sp_artistbrowse_portrait" returns="_547" context="_1" location="f0:2199" file="f0" line="2199" extern="1">
315
+ <Argument name="arb" type="_539" location="f0:2199" file="f0" line="2199"/>
316
+ <Argument name="index" type="_60" location="f0:2199" file="f0" line="2199"/>
317
+ </Function>
318
+ <Function id="_111" name="sp_toplistbrowse_track" returns="_501" context="_1" location="f0:3846" file="f0" line="3846" extern="1">
319
+ <Argument name="tlb" type="_521" location="f0:3846" file="f0" line="3846"/>
320
+ <Argument name="index" type="_60" location="f0:3846" file="f0" line="3846"/>
321
+ </Function>
322
+ <Function id="_112" name="sp_artist_portrait" returns="_547" context="_1" location="f0:1922" file="f0" line="1922" extern="1">
323
+ <Argument name="artist" type="_525" location="f0:1922" file="f0" line="1922"/>
324
+ <Argument name="size" type="_484" location="f0:1922" file="f0" line="1922"/>
325
+ </Function>
326
+ <Function id="_113" name="sp_search_total_playlists" returns="_60" context="_1" location="f0:2706" file="f0" line="2706" extern="1">
327
+ <Argument name="search" type="_548" location="f0:2706" file="f0" line="2706"/>
328
+ </Function>
329
+ <Function id="_114" name="sp_album_artist" returns="_525" context="_1" location="f0:1816" file="f0" line="1816" extern="1">
330
+ <Argument name="album" type="_531" location="f0:1816" file="f0" line="1816"/>
331
+ </Function>
332
+ <Function id="_115" name="__builtin_coshf" returns="_499" context="_1" mangled="coshf" location="f1:42" file="f1" line="42" extern="1" attributes="nothrow pure no vops">
333
+ <Argument type="_499" location="f1:42" file="f1" line="42"/>
334
+ </Function>
335
+ <Function id="_116" name="sp_inbox_add_ref" returns="_445" context="_1" location="f0:3917" file="f0" line="3917" extern="1">
336
+ <Argument name="inbox" type="_540" location="f0:3917" file="f0" line="3917"/>
337
+ </Function>
338
+ <Function id="_117" name="__builtin_coshl" returns="_500" context="_1" mangled="coshl" location="f1:43" file="f1" line="43" extern="1" attributes="nothrow pure no vops">
339
+ <Argument type="_500" location="f1:43" file="f1" line="43"/>
340
+ </Function>
341
+ <Function id="_118" name="sp_search_playlist_image_uri" returns="_498" context="_1" location="f0:2625" file="f0" line="2625" extern="1">
342
+ <Argument name="search" type="_548" location="f0:2625" file="f0" line="2625"/>
343
+ <Argument name="index" type="_60" location="f0:2625" file="f0" line="2625"/>
344
+ </Function>
345
+ <Function id="_119" name="sp_link_as_track" returns="_501" context="_1" location="f0:1452" file="f0" line="1452" extern="1">
346
+ <Argument name="link" type="_524" location="f0:1452" file="f0" line="1452"/>
347
+ </Function>
348
+ <Typedef id="_120" name="int_least32_t" type="_346" context="_1" location="f2:155" file="f2" line="155"/>
349
+ <Function id="_121" name="sp_link_as_user" returns="_523" context="_1" location="f0:1495" file="f0" line="1495" extern="1">
350
+ <Argument name="link" type="_524" location="f0:1495" file="f0" line="1495"/>
351
+ </Function>
352
+ <Function id="_122" name="__builtin_cexp" returns="_529" context="_1" mangled="cexp" location="f1:109" file="f1" line="109" extern="1" attributes="nothrow pure no vops">
353
+ <Argument type="_529" location="f1:109" file="f1" line="109"/>
354
+ </Function>
355
+ <Struct id="_123" name="sp_link" context="_1" incomplete="1" mangled="7sp_link" demangled="sp_link" location="f0:75" file="f0" line="75" artificial="1" align="8"/>
356
+ <Typedef id="_124" name="sp_link" type="_123" context="_1" location="f0:75" file="f0" line="75"/>
357
+ <Function id="_125" name="sp_session_logout" returns="_445" context="_1" location="f0:843" file="f0" line="843" extern="1">
358
+ <Argument name="session" type="_522" location="f0:843" file="f0" line="843"/>
359
+ </Function>
360
+ <Function id="_126" name="__builtin_atan2" returns="_497" context="_1" mangled="atan2" location="f1:31" file="f1" line="31" extern="1" attributes="nothrow pure no vops">
361
+ <Argument type="_497" location="f1:31" file="f1" line="31"/>
362
+ <Argument type="_497" location="f1:31" file="f1" line="31"/>
363
+ </Function>
364
+ <Function id="_127" name="sp_user_release" returns="_445" context="_1" location="f0:3675" file="f0" line="3675" extern="1">
365
+ <Argument name="user" type="_523" location="f0:3675" file="f0" line="3675"/>
366
+ </Function>
367
+ <FunctionType id="_128" returns="_545">
368
+ <Argument type="_530"/>
369
+ <Argument type="_543"/>
370
+ </FunctionType>
371
+ <Typedef id="_129" name="image_loaded_cb" type="_128" context="_1" location="f0:2350" file="f0" line="2350"/>
372
+ <Function id="_130" name="__builtin_atanf" returns="_499" context="_1" mangled="atanf" location="f1:34" file="f1" line="34" extern="1" attributes="nothrow pure no vops">
373
+ <Argument type="_499" location="f1:34" file="f1" line="34"/>
374
+ </Function>
375
+ <Function id="_131" name="__builtin_atanl" returns="_500" context="_1" mangled="atanl" location="f1:35" file="f1" line="35" extern="1" attributes="nothrow pure no vops">
376
+ <Argument type="_500" location="f1:35" file="f1" line="35"/>
377
+ </Function>
378
+ <Function id="_132" name="__builtin_ctan" returns="_529" context="_1" mangled="ctan" location="f1:124" file="f1" line="124" extern="1" attributes="nothrow pure no vops">
379
+ <Argument type="_529" location="f1:124" file="f1" line="124"/>
380
+ </Function>
381
+ <Function id="_133" name="__builtin_log" returns="_497" context="_1" mangled="log" location="f1:62" file="f1" line="62" extern="1" attributes="nothrow pure no vops">
382
+ <Argument type="_497" location="f1:62" file="f1" line="62"/>
383
+ </Function>
384
+ <Function id="_134" name="sp_playlist_track_set_seen" returns="_445" context="_1" location="f0:2995" file="f0" line="2995" extern="1">
385
+ <Argument name="playlist" type="_495" location="f0:2995" file="f0" line="2995"/>
386
+ <Argument name="index" type="_60" location="f0:2995" file="f0" line="2995"/>
387
+ <Argument name="seen" type="_496" location="f0:2995" file="f0" line="2995"/>
388
+ </Function>
389
+ <Function id="_135" name="sp_session_player_play" returns="_445" context="_1" location="f0:936" file="f0" line="936" extern="1">
390
+ <Argument name="session" type="_522" location="f0:936" file="f0" line="936"/>
391
+ <Argument name="play" type="_496" location="f0:936" file="f0" line="936"/>
392
+ </Function>
393
+ <Function id="_136" name="sp_playlist_set_in_ram" returns="_445" context="_1" location="f0:3251" file="f0" line="3251" extern="1">
394
+ <Argument name="session" type="_522" location="f0:3251" file="f0" line="3251"/>
395
+ <Argument name="playlist" type="_495" location="f0:3251" file="f0" line="3251"/>
396
+ <Argument name="in_ram" type="_496" location="f0:3251" file="f0" line="3251"/>
397
+ </Function>
398
+ <Function id="_137" name="sp_artistbrowse_album" returns="_531" context="_1" location="f0:2265" file="f0" line="2265" extern="1">
399
+ <Argument name="arb" type="_539" location="f0:2265" file="f0" line="2265"/>
400
+ <Argument name="index" type="_60" location="f0:2265" file="f0" line="2265"/>
401
+ </Function>
402
+ <Function id="_138" name="sp_playlistcontainer_clear_unseen_tracks" returns="_60" context="_1" location="f0:3604" file="f0" line="3604" extern="1">
403
+ <Argument name="pc" type="_526" location="f0:3604" file="f0" line="3604"/>
404
+ <Argument name="playlist" type="_495" location="f0:3604" file="f0" line="3604"/>
405
+ </Function>
406
+ <Struct id="_139" name="sp_playlistcontainer" context="_1" incomplete="1" mangled="20sp_playlistcontainer" demangled="sp_playlistcontainer" location="f0:79" file="f0" line="79" artificial="1" align="8"/>
407
+ <Typedef id="_140" name="sp_playlistcontainer" type="_139" context="_1" location="f0:79" file="f0" line="79"/>
408
+ <Function id="_141" name="sp_localtrack_create" returns="_501" context="_1" location="f0:1750" file="f0" line="1750" extern="1">
409
+ <Argument name="artist" type="_498" location="f0:1750" file="f0" line="1750"/>
410
+ <Argument name="title" type="_498" location="f0:1750" file="f0" line="1750"/>
411
+ <Argument name="album" type="_498" location="f0:1750" file="f0" line="1750"/>
412
+ <Argument name="length" type="_60" location="f0:1750" file="f0" line="1750"/>
413
+ </Function>
414
+ <Function id="_142" name="sp_link_create_from_artist" returns="_524" context="_1" location="f0:1332" file="f0" line="1332" extern="1">
415
+ <Argument name="artist" type="_525" location="f0:1332" file="f0" line="1332"/>
416
+ </Function>
417
+ <Function id="_143" name="sp_albumbrowse_create" returns="_546" context="_1" location="f0:1980" file="f0" line="1980" extern="1">
418
+ <Argument name="session" type="_522" location="f0:1980" file="f0" line="1980"/>
419
+ <Argument name="album" type="_531" location="f0:1980" file="f0" line="1980"/>
420
+ <Argument name="callback" type="_549" location="f0:1980" file="f0" line="1980"/>
421
+ <Argument name="userdata" type="_543" location="f0:1980" file="f0" line="1980"/>
422
+ </Function>
423
+ <Function id="_144" name="sp_session_user_name" returns="_498" context="_1" location="f0:811" file="f0" line="811" extern="1">
424
+ <Argument name="session" type="_522" location="f0:811" file="f0" line="811"/>
425
+ </Function>
426
+ <Function id="_145" name="sp_playlistcontainer_num_playlists" returns="_60" context="_1" location="f0:3416" file="f0" line="3416" extern="1">
427
+ <Argument name="pc" type="_526" location="f0:3416" file="f0" line="3416"/>
428
+ </Function>
429
+ <Function id="_146" name="sp_link_add_ref" returns="_445" context="_1" location="f0:1505" file="f0" line="1505" extern="1">
430
+ <Argument name="link" type="_524" location="f0:1505" file="f0" line="1505"/>
431
+ </Function>
432
+ <Function id="_147" name="sp_search_query" returns="_498" context="_1" location="f0:2653" file="f0" line="2653" extern="1">
433
+ <Argument name="search" type="_548" location="f0:2653" file="f0" line="2653"/>
434
+ </Function>
435
+ <Function id="_148" name="sp_artistbrowse_is_loaded" returns="_496" context="_1" location="f0:2156" file="f0" line="2156" extern="1">
436
+ <Argument name="arb" type="_539" location="f0:2156" file="f0" line="2156"/>
437
+ </Function>
438
+ <Function id="_149" name="sp_session_userdata" returns="_543" context="_1" location="f0:876" file="f0" line="876" extern="1">
439
+ <Argument name="session" type="_522" location="f0:876" file="f0" line="876"/>
440
+ </Function>
441
+ <Function id="_150" name="__builtin_asin" returns="_497" context="_1" mangled="asin" location="f1:27" file="f1" line="27" extern="1" attributes="nothrow pure no vops">
442
+ <Argument type="_497" location="f1:27" file="f1" line="27"/>
443
+ </Function>
444
+ <Function id="_151" name="sp_albumbrowse_add_ref" returns="_445" context="_1" location="f0:2094" file="f0" line="2094" extern="1">
445
+ <Argument name="alb" type="_546" location="f0:2094" file="f0" line="2094"/>
446
+ </Function>
447
+ <Struct id="_152" name="sp_albumbrowse" context="_1" incomplete="1" mangled="14sp_albumbrowse" demangled="sp_albumbrowse" location="f0:72" file="f0" line="72" artificial="1" align="8"/>
448
+ <Typedef id="_153" name="sp_albumbrowse" type="_152" context="_1" location="f0:72" file="f0" line="72"/>
449
+ <Function id="_154" name="__builtin_frexp" returns="_497" context="_1" mangled="frexp" location="f1:56" file="f1" line="56" extern="1" attributes="nothrow">
450
+ <Argument type="_497" location="f1:56" file="f1" line="56"/>
451
+ <Argument type="_550" location="f1:56" file="f1" line="56"/>
452
+ </Function>
453
+ <Function id="_155" name="sp_session_forget_me" returns="_445" context="_1" location="f0:821" file="f0" line="821" extern="1">
454
+ <Argument name="session" type="_522" location="f0:821" file="f0" line="821"/>
455
+ </Function>
456
+ <Function id="_156" name="sp_artist_is_loaded" returns="_496" context="_1" location="f0:1909" file="f0" line="1909" extern="1">
457
+ <Argument name="artist" type="_525" location="f0:1909" file="f0" line="1909"/>
458
+ </Function>
459
+ <Function id="_157" name="sp_album_release" returns="_445" context="_1" location="f0:1879" file="f0" line="1879" extern="1">
460
+ <Argument name="album" type="_531" location="f0:1879" file="f0" line="1879"/>
461
+ </Function>
462
+ <FundamentalType id="_158" name="short unsigned int" size="16" align="16"/>
463
+ <Typedef id="_159" name="uint_fast16_t" type="_220" context="_1" location="f2:189" file="f2" line="189"/>
464
+ <Function id="_160" name="sp_album_is_loaded" returns="_496" context="_1" location="f0:1795" file="f0" line="1795" extern="1">
465
+ <Argument name="album" type="_531" location="f0:1795" file="f0" line="1795"/>
466
+ </Function>
467
+ <Function id="_161" name="sp_session_player_prefetch" returns="_445" context="_1" location="f0:966" file="f0" line="966" extern="1">
468
+ <Argument name="session" type="_522" location="f0:966" file="f0" line="966"/>
469
+ <Argument name="track" type="_501" location="f0:966" file="f0" line="966"/>
470
+ </Function>
471
+ <Function id="_162" name="sp_artistbrowse_add_ref" returns="_445" context="_1" location="f0:2318" file="f0" line="2318" extern="1">
472
+ <Argument name="arb" type="_539" location="f0:2318" file="f0" line="2318"/>
473
+ </Function>
474
+ <Function id="_163" name="sp_track_is_starred" returns="_496" context="_1" location="f0:1640" file="f0" line="1640" extern="1">
475
+ <Argument name="session" type="_522" location="f0:1640" file="f0" line="1640"/>
476
+ <Argument name="track" type="_501" location="f0:1640" file="f0" line="1640"/>
477
+ </Function>
478
+ <Function id="_164" name="sp_artistbrowse_biography" returns="_498" context="_1" location="f0:2298" file="f0" line="2298" extern="1">
479
+ <Argument name="arb" type="_539" location="f0:2298" file="f0" line="2298"/>
480
+ </Function>
481
+ <Function id="_165" name="__builtin_log10f" returns="_499" context="_1" mangled="log10f" location="f1:64" file="f1" line="64" extern="1" attributes="nothrow pure no vops">
482
+ <Argument type="_499" location="f1:64" file="f1" line="64"/>
483
+ </Function>
484
+ <Function id="_166" name="__builtin_log10l" returns="_500" context="_1" mangled="log10l" location="f1:65" file="f1" line="65" extern="1" attributes="nothrow pure no vops">
485
+ <Argument type="_500" location="f1:65" file="f1" line="65"/>
486
+ </Function>
487
+ <FunctionType id="_167" returns="_545">
488
+ <Argument type="_521"/>
489
+ <Argument type="_543"/>
490
+ </FunctionType>
491
+ <Typedef id="_168" name="toplistbrowse_complete_cb" type="_167" context="_1" location="f0:3723" file="f0" line="3723"/>
492
+ <Function id="_169" name="sp_search_release" returns="_445" context="_1" location="f0:2724" file="f0" line="2724" extern="1">
493
+ <Argument name="search" type="_548" location="f0:2724" file="f0" line="2724"/>
494
+ </Function>
495
+ <Function id="_170" name="sp_track_num_artists" returns="_60" context="_1" location="f0:1663" file="f0" line="1663" extern="1">
496
+ <Argument name="track" type="_501" location="f0:1663" file="f0" line="1663"/>
497
+ </Function>
498
+ <Function id="_171" name="sp_toplistbrowse_add_ref" returns="_445" context="_1" location="f0:3776" file="f0" line="3776" extern="1">
499
+ <Argument name="tlb" type="_521" location="f0:3776" file="f0" line="3776"/>
500
+ </Function>
501
+ <Function id="_172" name="__builtin_ctzl" returns="_60" context="_1" location="f1:97" file="f1" line="97" extern="1" attributes="nothrow const">
502
+ <Argument type="_361" location="f1:97" file="f1" line="97"/>
503
+ </Function>
504
+ <Struct id="_173" name="sp_session_config" context="_1" mangled="17sp_session_config" demangled="sp_session_config" location="f0:643" file="f0" line="643" artificial="1" size="480" align="32" members="_551 _552 _553 _554 _555 _556 _557 _558 _559 _560 _561 _562 _563 _564 _565 _566 _567 _568 _569 _570 _571 " bases=""/>
505
+ <Typedef id="_174" name="sp_session_config" type="_173" context="_1" location="f0:716" file="f0" line="716"/>
506
+ <Function id="_175" name="sp_toplistbrowse_num_albums" returns="_60" context="_1" location="f0:3814" file="f0" line="3814" extern="1">
507
+ <Argument name="tlb" type="_521" location="f0:3814" file="f0" line="3814"/>
508
+ </Function>
509
+ <Function id="_176" name="sp_playlist_add_tracks" returns="_445" context="_1" location="f0:3124" file="f0" line="3124" extern="1">
510
+ <Argument name="playlist" type="_495" location="f0:3124" file="f0" line="3124"/>
511
+ <Argument name="tracks" type="_541" location="f0:3124" file="f0" line="3124"/>
512
+ <Argument name="num_tracks" type="_60" location="f0:3124" file="f0" line="3124"/>
513
+ <Argument name="position" type="_60" location="f0:3124" file="f0" line="3124"/>
514
+ <Argument name="session" type="_522" location="f0:3124" file="f0" line="3124"/>
515
+ </Function>
516
+ <Function id="_177" name="sp_search_create" returns="_548" context="_1" location="f0:2516" file="f0" line="2516" extern="1">
517
+ <Argument name="session" type="_522" location="f0:2516" file="f0" line="2516"/>
518
+ <Argument name="query" type="_498" location="f0:2516" file="f0" line="2516"/>
519
+ <Argument name="track_offset" type="_60" location="f0:2516" file="f0" line="2516"/>
520
+ <Argument name="track_count" type="_60" location="f0:2516" file="f0" line="2516"/>
521
+ <Argument name="album_offset" type="_60" location="f0:2516" file="f0" line="2516"/>
522
+ <Argument name="album_count" type="_60" location="f0:2516" file="f0" line="2516"/>
523
+ <Argument name="artist_offset" type="_60" location="f0:2516" file="f0" line="2516"/>
524
+ <Argument name="artist_count" type="_60" location="f0:2516" file="f0" line="2516"/>
525
+ <Argument name="playlist_offset" type="_60" location="f0:2516" file="f0" line="2516"/>
526
+ <Argument name="playlist_count" type="_60" location="f0:2516" file="f0" line="2516"/>
527
+ <Argument name="search_type" type="_217" location="f0:2516" file="f0" line="2516"/>
528
+ <Argument name="callback" type="_572" location="f0:2516" file="f0" line="2516"/>
529
+ <Argument name="userdata" type="_543" location="f0:2516" file="f0" line="2516"/>
530
+ </Function>
531
+ <Function id="_178" name="sp_image_create" returns="_530" context="_1" location="f0:2364" file="f0" line="2364" extern="1">
532
+ <Argument name="session" type="_522" location="f0:2364" file="f0" line="2364"/>
533
+ <Argument name="image_id" type="_547" location="f0:2364" file="f0" line="2364"/>
534
+ </Function>
535
+ <Function id="_179" name="sp_artistbrowse_num_similar_artists" returns="_60" context="_1" location="f0:2274" file="f0" line="2274" extern="1">
536
+ <Argument name="arb" type="_539" location="f0:2274" file="f0" line="2274"/>
537
+ </Function>
538
+ <Function id="_180" name="sp_session_starred_create" returns="_495" context="_1" location="f0:997" file="f0" line="997" extern="1">
539
+ <Argument name="session" type="_522" location="f0:997" file="f0" line="997"/>
540
+ </Function>
541
+ <Function id="_181" name="sp_playlist_remove_callbacks" returns="_445" context="_1" location="f0:2933" file="f0" line="2933" extern="1">
542
+ <Argument name="playlist" type="_495" location="f0:2933" file="f0" line="2933"/>
543
+ <Argument name="callbacks" type="_573" location="f0:2933" file="f0" line="2933"/>
544
+ <Argument name="userdata" type="_543" location="f0:2933" file="f0" line="2933"/>
545
+ </Function>
546
+ <Function id="_182" name="sp_search_num_artists" returns="_60" context="_1" location="f0:2634" file="f0" line="2634" extern="1">
547
+ <Argument name="search" type="_548" location="f0:2634" file="f0" line="2634"/>
548
+ </Function>
549
+ <Function id="_183" name="__builtin_powif" returns="_499" context="_1" location="f1:73" file="f1" line="73" extern="1" attributes="nothrow pure no vops">
550
+ <Argument type="_499" location="f1:73" file="f1" line="73"/>
551
+ <Argument type="_60" location="f1:73" file="f1" line="73"/>
552
+ </Function>
553
+ <Function id="_184" name="__builtin_powil" returns="_500" context="_1" location="f1:74" file="f1" line="74" extern="1" attributes="nothrow pure no vops">
554
+ <Argument type="_500" location="f1:74" file="f1" line="74"/>
555
+ <Argument type="_60" location="f1:74" file="f1" line="74"/>
556
+ </Function>
557
+ <Function id="_185" name="sp_link_as_album" returns="_531" context="_1" location="f0:1474" file="f0" line="1474" extern="1">
558
+ <Argument name="link" type="_524" location="f0:1474" file="f0" line="1474"/>
559
+ </Function>
560
+ <Function id="_186" name="__builtin_modff" returns="_499" context="_1" mangled="modff" location="f1:68" file="f1" line="68" extern="1" attributes="nothrow">
561
+ <Argument type="_499" location="f1:68" file="f1" line="68"/>
562
+ <Argument type="_574" location="f1:68" file="f1" line="68"/>
563
+ </Function>
564
+ <Function id="_187" name="__builtin_exp" returns="_497" context="_1" mangled="exp" location="f1:45" file="f1" line="45" extern="1" attributes="nothrow pure no vops">
565
+ <Argument type="_497" location="f1:45" file="f1" line="45"/>
566
+ </Function>
567
+ <Function id="_188" name="__builtin_modfl" returns="_500" context="_1" mangled="modfl" location="f1:69" file="f1" line="69" extern="1" attributes="nothrow">
568
+ <Argument type="_500" location="f1:69" file="f1" line="69"/>
569
+ <Argument type="_575" location="f1:69" file="f1" line="69"/>
570
+ </Function>
571
+ <Function id="_189" name="__builtin_prefetch" returns="_545" context="_1" location="f1:17" file="f1" line="17" extern="1" attributes="no vops">
572
+ <Argument name="ADDR" type="_576" location="f1:17" file="f1" line="17"/>
573
+ <Ellipsis/>
574
+ </Function>
575
+ <Function id="_190" name="sp_search_playlist" returns="_495" context="_1" location="f0:2595" file="f0" line="2595" extern="1">
576
+ <Argument name="search" type="_548" location="f0:2595" file="f0" line="2595"/>
577
+ <Argument name="index" type="_60" location="f0:2595" file="f0" line="2595"/>
578
+ </Function>
579
+ <Function id="_191" name="sp_track_index" returns="_60" context="_1" location="f0:1738" file="f0" line="1738" extern="1">
580
+ <Argument name="track" type="_501" location="f0:1738" file="f0" line="1738"/>
581
+ </Function>
582
+ <Function id="_192" name="__builtin_tan" returns="_497" context="_1" mangled="tan" location="f1:84" file="f1" line="84" extern="1" attributes="nothrow pure no vops">
583
+ <Argument type="_497" location="f1:84" file="f1" line="84"/>
584
+ </Function>
585
+ <Struct id="_193" name="sp_audio_buffer_stats" context="_1" mangled="21sp_audio_buffer_stats" demangled="sp_audio_buffer_stats" location="f0:270" file="f0" line="270" artificial="1" size="64" align="32" members="_577 _578 _579 _580 _581 _582 " bases=""/>
586
+ <Typedef id="_194" name="sp_audio_buffer_stats" type="_193" context="_1" location="f0:273" file="f0" line="273"/>
587
+ <Function id="_195" name="__builtin_fabsf" returns="_499" context="_1" mangled="fabsf" location="f1:49" file="f1" line="49" extern="1" attributes="nothrow const">
588
+ <Argument type="_499" location="f1:49" file="f1" line="49"/>
589
+ </Function>
590
+ <Function id="_196" name="__builtin_fabsl" returns="_500" context="_1" mangled="fabsl" location="f1:50" file="f1" line="50" extern="1" attributes="nothrow const">
591
+ <Argument type="_500" location="f1:50" file="f1" line="50"/>
592
+ </Function>
593
+ <FundamentalType id="_197" name="unsigned int" size="32" align="32"/>
594
+ <Typedef id="_198" name="uint32_t" type="_197" context="_1" location="f2:143" file="f2" line="143"/>
595
+ <Function id="_199" name="sp_playlist_track" returns="_501" context="_1" location="f0:2952" file="f0" line="2952" extern="1">
596
+ <Argument name="playlist" type="_495" location="f0:2952" file="f0" line="2952"/>
597
+ <Argument name="index" type="_60" location="f0:2952" file="f0" line="2952"/>
598
+ </Function>
599
+ <Function id="_200" name="sp_user_display_name" returns="_498" context="_1" location="f0:3646" file="f0" line="3646" extern="1">
600
+ <Argument name="user" type="_523" location="f0:3646" file="f0" line="3646"/>
601
+ </Function>
602
+ <Function id="_201" name="sp_search_is_loaded" returns="_496" context="_1" location="f0:2525" file="f0" line="2525" extern="1">
603
+ <Argument name="search" type="_548" location="f0:2525" file="f0" line="2525"/>
604
+ </Function>
605
+ <Function id="_202" name="sp_link_create_from_artist_portrait" returns="_524" context="_1" location="f0:1346" file="f0" line="1346" extern="1">
606
+ <Argument name="artist" type="_525" location="f0:1346" file="f0" line="1346"/>
607
+ <Argument name="size" type="_484" location="f0:1346" file="f0" line="1346"/>
608
+ </Function>
609
+ <Function id="_203" name="sp_playlistcontainer_playlist" returns="_495" context="_1" location="f0:3439" file="f0" line="3439" extern="1">
610
+ <Argument name="pc" type="_526" location="f0:3439" file="f0" line="3439"/>
611
+ <Argument name="index" type="_60" location="f0:3439" file="f0" line="3439"/>
612
+ </Function>
613
+ <Function id="_204" name="sp_session_user" returns="_523" context="_1" location="f0:831" file="f0" line="831" extern="1">
614
+ <Argument name="session" type="_522" location="f0:831" file="f0" line="831"/>
615
+ </Function>
616
+ <Typedef id="_205" name="uint_least32_t" type="_198" context="_1" location="f2:156" file="f2" line="156"/>
617
+ <Function id="_206" name="sp_image_data" returns="_576" context="_1" location="f0:2446" file="f0" line="2446" extern="1">
618
+ <Argument name="image" type="_530" location="f0:2446" file="f0" line="2446"/>
619
+ <Argument name="data_size" type="_583" location="f0:2446" file="f0" line="2446"/>
620
+ </Function>
621
+ <Function id="_207" name="__builtin_inf" returns="_497" context="_1" location="f1:18" file="f1" line="18" extern="1" attributes="nothrow const"/>
622
+ <Function id="_208" name="sp_session_player_seek" returns="_445" context="_1" location="f0:926" file="f0" line="926" extern="1">
623
+ <Argument name="session" type="_522" location="f0:926" file="f0" line="926"/>
624
+ <Argument name="offset" type="_60" location="f0:926" file="f0" line="926"/>
625
+ </Function>
626
+ <Enumeration id="_209" name="sp_connection_rules" context="_1" location="f0:302" file="f0" line="302" artificial="1" size="32" align="32">
627
+ <EnumValue name="SP_CONNECTION_RULE_NETWORK" init="1"/>
628
+ <EnumValue name="SP_CONNECTION_RULE_NETWORK_IF_ROAMING" init="2"/>
629
+ <EnumValue name="SP_CONNECTION_RULE_ALLOW_SYNC_OVER_MOBILE" init="4"/>
630
+ <EnumValue name="SP_CONNECTION_RULE_ALLOW_SYNC_OVER_WIFI" init="8"/>
631
+ </Enumeration>
632
+ <Typedef id="_210" name="sp_connection_rules" type="_209" context="_1" location="f0:307" file="f0" line="307"/>
633
+ <Function id="_211" name="sp_search_album" returns="_531" context="_1" location="f0:2576" file="f0" line="2576" extern="1">
634
+ <Argument name="search" type="_548" location="f0:2576" file="f0" line="2576"/>
635
+ <Argument name="index" type="_60" location="f0:2576" file="f0" line="2576"/>
636
+ </Function>
637
+ <Namespace id="_212" name="__cxxabiv1" context="_1" members="" mangled="_Z10__cxxabiv1" demangled="__cxxabiv1"/>
638
+ <Function id="_213" name="sp_track_disc" returns="_60" context="_1" location="f0:1727" file="f0" line="1727" extern="1">
639
+ <Argument name="track" type="_501" location="f0:1727" file="f0" line="1727"/>
640
+ </Function>
641
+ <Function id="_214" name="sp_albumbrowse_is_loaded" returns="_496" context="_1" location="f0:1989" file="f0" line="1989" extern="1">
642
+ <Argument name="alb" type="_546" location="f0:1989" file="f0" line="1989"/>
643
+ </Function>
644
+ <Function id="_215" name="__builtin_frame_address" returns="_543" context="_1" location="f1:15" file="f1" line="15" extern="1">
645
+ <Argument name="LEVEL" type="_197" location="f1:15" file="f1" line="15"/>
646
+ </Function>
647
+ <Enumeration id="_216" name="sp_search_type" context="_1" location="f0:219" file="f0" line="219" artificial="1" size="32" align="32">
648
+ <EnumValue name="SP_SEARCH_STANDARD" init="0"/>
649
+ <EnumValue name="SP_SEARCH_SUGGEST" init="1"/>
650
+ </Enumeration>
651
+ <Typedef id="_217" name="sp_search_type" type="_216" context="_1" location="f0:222" file="f0" line="222"/>
652
+ <Struct id="_218" name="sp_search" context="_1" incomplete="1" mangled="9sp_search" demangled="sp_search" location="f0:74" file="f0" line="74" artificial="1" align="8"/>
653
+ <Typedef id="_219" name="sp_search" type="_218" context="_1" location="f0:74" file="f0" line="74"/>
654
+ <Typedef id="_220" name="uint16_t" type="_158" context="_1" location="f2:178" file="f2" line="178"/>
655
+ <Struct id="_221" name="sp_artistbrowse" context="_1" incomplete="1" mangled="15sp_artistbrowse" demangled="sp_artistbrowse" location="f0:71" file="f0" line="71" artificial="1" align="8"/>
656
+ <Typedef id="_222" name="sp_artistbrowse" type="_221" context="_1" location="f0:71" file="f0" line="71"/>
657
+ <Function id="_223" name="sp_playlist_is_in_ram" returns="_496" context="_1" location="f0:3239" file="f0" line="3239" extern="1">
658
+ <Argument name="session" type="_522" location="f0:3239" file="f0" line="3239"/>
659
+ <Argument name="playlist" type="_495" location="f0:3239" file="f0" line="3239"/>
660
+ </Function>
661
+ <Function id="_224" name="sp_toplistbrowse_num_tracks" returns="_60" context="_1" location="f0:3835" file="f0" line="3835" extern="1">
662
+ <Argument name="tlb" type="_521" location="f0:3835" file="f0" line="3835"/>
663
+ </Function>
664
+ <Function id="_225" name="__builtin_cabs" returns="_497" context="_1" mangled="cabs" location="f1:91" file="f1" line="91" extern="1" attributes="nothrow pure no vops">
665
+ <Argument type="_529" location="f1:91" file="f1" line="91"/>
666
+ </Function>
667
+ <Function id="_226" name="sp_session_process_events" returns="_445" context="_1" location="f0:898" file="f0" line="898" extern="1">
668
+ <Argument name="session" type="_522" location="f0:898" file="f0" line="898"/>
669
+ <Argument name="next_timeout" type="_550" location="f0:898" file="f0" line="898"/>
670
+ </Function>
671
+ <Function id="_227" name="sp_artistbrowse_create" returns="_539" context="_1" location="f0:2147" file="f0" line="2147" extern="1">
672
+ <Argument name="session" type="_522" location="f0:2147" file="f0" line="2147"/>
673
+ <Argument name="artist" type="_525" location="f0:2147" file="f0" line="2147"/>
674
+ <Argument name="type" type="_344" location="f0:2147" file="f0" line="2147"/>
675
+ <Argument name="callback" type="_584" location="f0:2147" file="f0" line="2147"/>
676
+ <Argument name="userdata" type="_543" location="f0:2147" file="f0" line="2147"/>
677
+ </Function>
678
+ <Function id="_228" name="sp_artistbrowse_num_tophit_tracks" returns="_60" context="_1" location="f0:2231" file="f0" line="2231" extern="1">
679
+ <Argument name="arb" type="_539" location="f0:2231" file="f0" line="2231"/>
680
+ </Function>
681
+ <Struct id="_229" name="sp_session" context="_1" incomplete="1" mangled="10sp_session" demangled="sp_session" location="f0:67" file="f0" line="67" artificial="1" align="8"/>
682
+ <Typedef id="_230" name="sp_session" type="_229" context="_1" location="f0:67" file="f0" line="67"/>
683
+ <Function id="_231" name="__builtin_atan2f" returns="_499" context="_1" mangled="atan2f" location="f1:32" file="f1" line="32" extern="1" attributes="nothrow pure no vops">
684
+ <Argument type="_499" location="f1:32" file="f1" line="32"/>
685
+ <Argument type="_499" location="f1:32" file="f1" line="32"/>
686
+ </Function>
687
+ <Function id="_232" name="__builtin_atan2l" returns="_500" context="_1" mangled="atan2l" location="f1:33" file="f1" line="33" extern="1" attributes="nothrow pure no vops">
688
+ <Argument type="_500" location="f1:33" file="f1" line="33"/>
689
+ <Argument type="_500" location="f1:33" file="f1" line="33"/>
690
+ </Function>
691
+ <Typedef id="_233" name="int_fast8_t" type="_407" context="_1" location="f2:205" file="f2" line="205"/>
692
+ <Function id="_234" name="sp_albumbrowse_album" returns="_531" context="_1" location="f0:2012" file="f0" line="2012" extern="1">
693
+ <Argument name="alb" type="_546" location="f0:2012" file="f0" line="2012"/>
694
+ </Function>
695
+ <FundamentalType id="_235" name="short int" size="16" align="16"/>
696
+ <Typedef id="_236" name="int16_t" type="_235" context="_1" location="f2:176" file="f2" line="176"/>
697
+ <Function id="_237" name="sp_track_add_ref" returns="_445" context="_1" location="f0:1759" file="f0" line="1759" extern="1">
698
+ <Argument name="track" type="_501" location="f0:1759" file="f0" line="1759"/>
699
+ </Function>
700
+ <Enumeration id="_238" name="sp_toplisttype" context="_1" location="f0:3692" file="f0" line="3692" size="32" align="32">
701
+ <EnumValue name="SP_TOPLIST_TYPE_ARTISTS" init="0"/>
702
+ <EnumValue name="SP_TOPLIST_TYPE_ALBUMS" init="1"/>
703
+ <EnumValue name="SP_TOPLIST_TYPE_TRACKS" init="2"/>
704
+ </Enumeration>
705
+ <Typedef id="_239" name="int_fast16_t" type="_236" context="_1" location="f2:188" file="f2" line="188"/>
706
+ <Function id="_240" name="sp_playlist_rename" returns="_445" context="_1" location="f0:3028" file="f0" line="3028" extern="1">
707
+ <Argument name="playlist" type="_495" location="f0:3028" file="f0" line="3028"/>
708
+ <Argument name="new_name" type="_498" location="f0:3028" file="f0" line="3028"/>
709
+ </Function>
710
+ <Function id="_241" name="sp_playlistcontainer_playlist_type" returns="_385" context="_1" location="f0:3451" file="f0" line="3451" extern="1">
711
+ <Argument name="pc" type="_526" location="f0:3451" file="f0" line="3451"/>
712
+ <Argument name="index" type="_60" location="f0:3451" file="f0" line="3451"/>
713
+ </Function>
714
+ <Function id="_242" name="__builtin_ccoshf" returns="_502" context="_1" mangled="ccoshf" location="f1:105" file="f1" line="105" extern="1" attributes="nothrow pure no vops">
715
+ <Argument type="_502" location="f1:105" file="f1" line="105"/>
716
+ </Function>
717
+ <Function id="_243" name="__builtin_ccoshl" returns="_503" context="_1" mangled="ccoshl" location="f1:107" file="f1" line="107" extern="1" attributes="nothrow pure no vops">
718
+ <Argument type="_503" location="f1:107" file="f1" line="107"/>
719
+ </Function>
720
+ <Enumeration id="_244" name="sp_connectionstate" context="_1" location="f0:170" file="f0" line="170" artificial="1" size="32" align="32">
721
+ <EnumValue name="SP_CONNECTION_STATE_LOGGED_OUT" init="0"/>
722
+ <EnumValue name="SP_CONNECTION_STATE_LOGGED_IN" init="1"/>
723
+ <EnumValue name="SP_CONNECTION_STATE_DISCONNECTED" init="2"/>
724
+ <EnumValue name="SP_CONNECTION_STATE_UNDEFINED" init="3"/>
725
+ <EnumValue name="SP_CONNECTION_STATE_OFFLINE" init="4"/>
726
+ </Enumeration>
727
+ <Typedef id="_245" name="sp_connectionstate" type="_244" context="_1" location="f0:176" file="f0" line="176"/>
728
+ <Enumeration id="_246" name="sp_scrobbling_state" context="_1" location="f0:333" file="f0" line="333" artificial="1" size="32" align="32">
729
+ <EnumValue name="SP_SCROBBLING_STATE_USE_GLOBAL_SETTING" init="0"/>
730
+ <EnumValue name="SP_SCROBBLING_STATE_LOCAL_ENABLED" init="1"/>
731
+ <EnumValue name="SP_SCROBBLING_STATE_LOCAL_DISABLED" init="2"/>
732
+ <EnumValue name="SP_SCROBBLING_STATE_GLOBAL_ENABLED" init="3"/>
733
+ <EnumValue name="SP_SCROBBLING_STATE_GLOBAL_DISABLED" init="4"/>
734
+ </Enumeration>
735
+ <Typedef id="_247" name="sp_scrobbling_state" type="_246" context="_1" location="f0:339" file="f0" line="339"/>
736
+ <Function id="_248" name="sp_session_publishedcontainer_for_user_create" returns="_526" context="_1" location="f0:1023" file="f0" line="1023" extern="1">
737
+ <Argument name="session" type="_522" location="f0:1023" file="f0" line="1023"/>
738
+ <Argument name="canonical_username" type="_498" location="f0:1023" file="f0" line="1023"/>
739
+ </Function>
740
+ <Typedef id="_249" name="ptrdiff_t" type="_60" context="_1" location="f3:31" file="f3" line="31"/>
741
+ <Function id="_250" name="__builtin_atan" returns="_497" context="_1" mangled="atan" location="f1:30" file="f1" line="30" extern="1" attributes="nothrow pure no vops">
742
+ <Argument type="_497" location="f1:30" file="f1" line="30"/>
743
+ </Function>
744
+ <Function id="_251" name="__builtin_sinhf" returns="_499" context="_1" mangled="sinhf" location="f1:78" file="f1" line="78" extern="1" attributes="nothrow pure no vops">
745
+ <Argument type="_499" location="f1:78" file="f1" line="78"/>
746
+ </Function>
747
+ <Function id="_252" name="__builtin_sinhl" returns="_500" context="_1" mangled="sinhl" location="f1:79" file="f1" line="79" extern="1" attributes="nothrow pure no vops">
748
+ <Argument type="_500" location="f1:79" file="f1" line="79"/>
749
+ </Function>
750
+ <Function id="_253" name="__builtin_sqrtf" returns="_499" context="_1" mangled="sqrtf" location="f1:82" file="f1" line="82" extern="1" attributes="nothrow pure no vops">
751
+ <Argument type="_499" location="f1:82" file="f1" line="82"/>
752
+ </Function>
753
+ <Function id="_254" name="__builtin_sqrtl" returns="_500" context="_1" mangled="sqrtl" location="f1:83" file="f1" line="83" extern="1" attributes="nothrow pure no vops">
754
+ <Argument type="_500" location="f1:83" file="f1" line="83"/>
755
+ </Function>
756
+ <FunctionType id="_255" returns="_545">
757
+ <Argument type="_539"/>
758
+ <Argument type="_543"/>
759
+ </FunctionType>
760
+ <Typedef id="_256" name="artistbrowse_complete_cb" type="_255" context="_1" location="f0:2130" file="f0" line="2130"/>
761
+ <Function id="_257" name="__builtin_frexpf" returns="_499" context="_1" mangled="frexpf" location="f1:57" file="f1" line="57" extern="1" attributes="nothrow">
762
+ <Argument type="_499" location="f1:57" file="f1" line="57"/>
763
+ <Argument type="_550" location="f1:57" file="f1" line="57"/>
764
+ </Function>
765
+ <Function id="_258" name="__builtin_frexpl" returns="_500" context="_1" mangled="frexpl" location="f1:58" file="f1" line="58" extern="1" attributes="nothrow">
766
+ <Argument type="_500" location="f1:58" file="f1" line="58"/>
767
+ <Argument type="_550" location="f1:58" file="f1" line="58"/>
768
+ </Function>
769
+ <Function id="_259" name="__builtin_cpowf" returns="_502" context="_1" mangled="cpowf" location="f1:129" file="f1" line="129" extern="1" attributes="nothrow pure no vops">
770
+ <Argument type="_502" location="f1:129" file="f1" line="129"/>
771
+ <Argument type="_502" location="f1:129" file="f1" line="129"/>
772
+ </Function>
773
+ <Function id="_260" name="__builtin_cpowl" returns="_503" context="_1" mangled="cpowl" location="f1:131" file="f1" line="131" extern="1" attributes="nothrow pure no vops">
774
+ <Argument type="_503" location="f1:131" file="f1" line="131"/>
775
+ <Argument type="_503" location="f1:131" file="f1" line="131"/>
776
+ </Function>
777
+ <Enumeration id="_261" name="sp_connection_type" context="_1" location="f0:287" file="f0" line="287" artificial="1" size="32" align="32">
778
+ <EnumValue name="SP_CONNECTION_TYPE_UNKNOWN" init="0"/>
779
+ <EnumValue name="SP_CONNECTION_TYPE_NONE" init="1"/>
780
+ <EnumValue name="SP_CONNECTION_TYPE_MOBILE" init="2"/>
781
+ <EnumValue name="SP_CONNECTION_TYPE_MOBILE_ROAMING" init="3"/>
782
+ <EnumValue name="SP_CONNECTION_TYPE_WIFI" init="4"/>
783
+ <EnumValue name="SP_CONNECTION_TYPE_WIRED" init="5"/>
784
+ </Enumeration>
785
+ <Typedef id="_262" name="sp_connection_type" type="_261" context="_1" location="f0:294" file="f0" line="294"/>
786
+ <Function id="_263" name="sp_link_as_string" returns="_60" context="_1" location="f0:1433" file="f0" line="1433" extern="1">
787
+ <Argument name="link" type="_524" location="f0:1433" file="f0" line="1433"/>
788
+ <Argument name="buffer" type="_528" location="f0:1433" file="f0" line="1433"/>
789
+ <Argument name="buffer_size" type="_60" location="f0:1433" file="f0" line="1433"/>
790
+ </Function>
791
+ <Function id="_264" name="sp_search_playlist_name" returns="_498" context="_1" location="f0:2605" file="f0" line="2605" extern="1">
792
+ <Argument name="search" type="_548" location="f0:2605" file="f0" line="2605"/>
793
+ <Argument name="index" type="_60" location="f0:2605" file="f0" line="2605"/>
794
+ </Function>
795
+ <Typedef id="_265" name="uint_fast64_t" type="_491" context="_1" location="f2:84" file="f2" line="84"/>
796
+ <Function id="_266" name="sp_playlist_num_tracks" returns="_60" context="_1" location="f0:2942" file="f0" line="2942" extern="1">
797
+ <Argument name="playlist" type="_495" location="f0:2942" file="f0" line="2942"/>
798
+ </Function>
799
+ <Function id="_267" name="sp_link_create_from_track" returns="_524" context="_1" location="f0:1295" file="f0" line="1295" extern="1">
800
+ <Argument name="track" type="_501" location="f0:1295" file="f0" line="1295"/>
801
+ <Argument name="offset" type="_60" location="f0:1295" file="f0" line="1295"/>
802
+ </Function>
803
+ <Function id="_268" name="__builtin_bswap64" returns="_308" context="_1" location="f1:135" file="f1" line="135" extern="1">
804
+ <Argument name="_data" type="_308" location="f1:135" file="f1" line="135"/>
805
+ </Function>
806
+ <Function id="_269" name="sp_playlistcontainer_release" returns="_445" context="_1" location="f0:3580" file="f0" line="3580" extern="1">
807
+ <Argument name="pc" type="_526" location="f0:3580" file="f0" line="3580"/>
808
+ </Function>
809
+ <Function id="_270" name="sp_session_flush_caches" returns="_445" context="_1" location="f0:858" file="f0" line="858" extern="1">
810
+ <Argument name="session" type="_522" location="f0:858" file="f0" line="858"/>
811
+ </Function>
812
+ <Struct id="_271" name="sp_audioformat" context="_1" mangled="14sp_audioformat" demangled="sp_audioformat" location="f0:189" file="f0" line="189" artificial="1" size="96" align="32" members="_585 _586 _587 _588 _589 _590 _591 " bases=""/>
813
+ <Typedef id="_272" name="sp_audioformat" type="_271" context="_1" location="f0:193" file="f0" line="193"/>
814
+ <Function id="_273" name="sp_playlist_is_collaborative" returns="_496" context="_1" location="f0:3048" file="f0" line="3048" extern="1">
815
+ <Argument name="playlist" type="_495" location="f0:3048" file="f0" line="3048"/>
816
+ </Function>
817
+ <Function id="_274" name="sp_link_create_from_search" returns="_524" context="_1" location="f0:1378" file="f0" line="1378" extern="1">
818
+ <Argument name="search" type="_548" location="f0:1378" file="f0" line="1378"/>
819
+ </Function>
820
+ <Function id="_275" name="sp_playlist_set_autolink_tracks" returns="_445" context="_1" location="f0:3073" file="f0" line="3073" extern="1">
821
+ <Argument name="playlist" type="_495" location="f0:3073" file="f0" line="3073"/>
822
+ <Argument name="link" type="_496" location="f0:3073" file="f0" line="3073"/>
823
+ </Function>
824
+ <Function id="_276" name="sp_session_create" returns="_445" context="_1" location="f0:739" file="f0" line="739" extern="1">
825
+ <Argument name="config" type="_592" location="f0:739" file="f0" line="739"/>
826
+ <Argument name="sess" type="_593" location="f0:739" file="f0" line="739"/>
827
+ </Function>
828
+ <Function id="_277" name="sp_inbox_release" returns="_445" context="_1" location="f0:3926" file="f0" line="3926" extern="1">
829
+ <Argument name="inbox" type="_540" location="f0:3926" file="f0" line="3926"/>
830
+ </Function>
831
+ <Function id="_278" name="sp_artist_add_ref" returns="_445" context="_1" location="f0:1931" file="f0" line="1931" extern="1">
832
+ <Argument name="artist" type="_525" location="f0:1931" file="f0" line="1931"/>
833
+ </Function>
834
+ <Function id="_279" name="__builtin_tanhf" returns="_499" context="_1" mangled="tanhf" location="f1:87" file="f1" line="87" extern="1" attributes="nothrow pure no vops">
835
+ <Argument type="_499" location="f1:87" file="f1" line="87"/>
836
+ </Function>
837
+ <Function id="_280" name="__builtin_tanhl" returns="_500" context="_1" mangled="tanhl" location="f1:88" file="f1" line="88" extern="1" attributes="nothrow pure no vops">
838
+ <Argument type="_500" location="f1:88" file="f1" line="88"/>
839
+ </Function>
840
+ <Function id="_281" name="__builtin_cabsf" returns="_499" context="_1" mangled="cabsf" location="f1:90" file="f1" line="90" extern="1" attributes="nothrow pure no vops">
841
+ <Argument type="_502" location="f1:90" file="f1" line="90"/>
842
+ </Function>
843
+ <Function id="_282" name="__builtin_cabsl" returns="_500" context="_1" mangled="cabsl" location="f1:92" file="f1" line="92" extern="1" attributes="nothrow pure no vops">
844
+ <Argument type="_503" location="f1:92" file="f1" line="92"/>
845
+ </Function>
846
+ <Function id="_283" name="sp_link_create_from_image" returns="_524" context="_1" location="f0:1419" file="f0" line="1419" extern="1">
847
+ <Argument name="image" type="_530" location="f0:1419" file="f0" line="1419"/>
848
+ </Function>
849
+ <Typedef id="_284" name="int_least16_t" type="_236" context="_1" location="f2:186" file="f2" line="186"/>
850
+ <Function id="_285" name="__builtin_powf" returns="_499" context="_1" mangled="powf" location="f1:70" file="f1" line="70" extern="1" attributes="nothrow pure no vops">
851
+ <Argument type="_499" location="f1:70" file="f1" line="70"/>
852
+ <Argument type="_499" location="f1:70" file="f1" line="70"/>
853
+ </Function>
854
+ <Function id="_286" name="__builtin_powi" returns="_497" context="_1" location="f1:72" file="f1" line="72" extern="1" attributes="nothrow pure no vops">
855
+ <Argument type="_497" location="f1:72" file="f1" line="72"/>
856
+ <Argument type="_60" location="f1:72" file="f1" line="72"/>
857
+ </Function>
858
+ <Function id="_287" name="__builtin_powl" returns="_500" context="_1" mangled="powl" location="f1:71" file="f1" line="71" extern="1" attributes="nothrow pure no vops">
859
+ <Argument type="_500" location="f1:71" file="f1" line="71"/>
860
+ <Argument type="_500" location="f1:71" file="f1" line="71"/>
861
+ </Function>
862
+ <Enumeration id="_288" name="sp_linktype" context="_1" location="f0:1268" file="f0" line="1268" size="32" align="32">
863
+ <EnumValue name="SP_LINKTYPE_INVALID" init="0"/>
864
+ <EnumValue name="SP_LINKTYPE_TRACK" init="1"/>
865
+ <EnumValue name="SP_LINKTYPE_ALBUM" init="2"/>
866
+ <EnumValue name="SP_LINKTYPE_ARTIST" init="3"/>
867
+ <EnumValue name="SP_LINKTYPE_SEARCH" init="4"/>
868
+ <EnumValue name="SP_LINKTYPE_PLAYLIST" init="5"/>
869
+ <EnumValue name="SP_LINKTYPE_PROFILE" init="6"/>
870
+ <EnumValue name="SP_LINKTYPE_STARRED" init="7"/>
871
+ <EnumValue name="SP_LINKTYPE_LOCALTRACK" init="8"/>
872
+ <EnumValue name="SP_LINKTYPE_IMAGE" init="9"/>
873
+ </Enumeration>
874
+ <Function id="_289" name="sp_inbox_error" returns="_445" context="_1" location="f0:3908" file="f0" line="3908" extern="1">
875
+ <Argument name="inbox" type="_540" location="f0:3908" file="f0" line="3908"/>
876
+ </Function>
877
+ <Enumeration id="_290" name="sp_relation_type" context="_1" location="f0:3618" file="f0" line="3618" artificial="1" size="32" align="32">
878
+ <EnumValue name="SP_RELATION_TYPE_UNKNOWN" init="0"/>
879
+ <EnumValue name="SP_RELATION_TYPE_NONE" init="1"/>
880
+ <EnumValue name="SP_RELATION_TYPE_UNIDIRECTIONAL" init="2"/>
881
+ <EnumValue name="SP_RELATION_TYPE_BIDIRECTIONAL" init="3"/>
882
+ </Enumeration>
883
+ <Typedef id="_291" name="sp_relation_type" type="_290" context="_1" location="f0:3623" file="f0" line="3623"/>
884
+ <Function id="_292" name="sp_image_add_load_callback" returns="_445" context="_1" location="f0:2391" file="f0" line="2391" extern="1">
885
+ <Argument name="image" type="_530" location="f0:2391" file="f0" line="2391"/>
886
+ <Argument name="callback" type="_594" location="f0:2391" file="f0" line="2391"/>
887
+ <Argument name="userdata" type="_543" location="f0:2391" file="f0" line="2391"/>
888
+ </Function>
889
+ <Function id="_293" name="sp_albumbrowse_artist" returns="_525" context="_1" location="f0:2021" file="f0" line="2021" extern="1">
890
+ <Argument name="alb" type="_546" location="f0:2021" file="f0" line="2021"/>
891
+ </Function>
892
+ <Typedef id="_294" name="uintptr_t" type="_491" context="_1" location="f2:230" file="f2" line="230"/>
893
+ <Function id="_295" name="sp_search_error" returns="_445" context="_1" location="f0:2538" file="f0" line="2538" extern="1">
894
+ <Argument name="search" type="_548" location="f0:2538" file="f0" line="2538"/>
895
+ </Function>
896
+ <Function id="_296" name="sp_session_playlistcontainer" returns="_526" context="_1" location="f0:975" file="f0" line="975" extern="1">
897
+ <Argument name="session" type="_522" location="f0:975" file="f0" line="975"/>
898
+ </Function>
899
+ <Function id="_297" name="sp_offline_tracks_to_sync" returns="_60" context="_1" location="f0:1198" file="f0" line="1198" extern="1">
900
+ <Argument name="session" type="_522" location="f0:1198" file="f0" line="1198"/>
901
+ </Function>
902
+ <Function id="_298" name="sp_playlistcontainer_add_new_playlist" returns="_495" context="_1" location="f0:3491" file="f0" line="3491" extern="1">
903
+ <Argument name="pc" type="_526" location="f0:3491" file="f0" line="3491"/>
904
+ <Argument name="name" type="_498" location="f0:3491" file="f0" line="3491"/>
905
+ </Function>
906
+ <Enumeration id="_299" name="sp_availability" context="_1" location="f0:237" file="f0" line="237" artificial="1" size="32" align="32">
907
+ <EnumValue name="SP_TRACK_AVAILABILITY_UNAVAILABLE" init="0"/>
908
+ <EnumValue name="SP_TRACK_AVAILABILITY_AVAILABLE" init="1"/>
909
+ <EnumValue name="SP_TRACK_AVAILABILITY_NOT_STREAMABLE" init="2"/>
910
+ <EnumValue name="SP_TRACK_AVAILABILITY_BANNED_BY_ARTIST" init="3"/>
911
+ </Enumeration>
912
+ <Typedef id="_300" name="sp_track_availability" type="_299" context="_1" location="f0:242" file="f0" line="242"/>
913
+ <Function id="_301" name="sp_session_player_unload" returns="_445" context="_1" location="f0:948" file="f0" line="948" extern="1">
914
+ <Argument name="session" type="_522" location="f0:948" file="f0" line="948"/>
915
+ </Function>
916
+ <Function id="_302" name="__builtin_ccos" returns="_529" context="_1" mangled="ccos" location="f1:103" file="f1" line="103" extern="1" attributes="nothrow pure no vops">
917
+ <Argument type="_529" location="f1:103" file="f1" line="103"/>
918
+ </Function>
919
+ <Function id="_303" name="sp_session_player_load" returns="_445" context="_1" location="f0:916" file="f0" line="916" extern="1">
920
+ <Argument name="session" type="_522" location="f0:916" file="f0" line="916"/>
921
+ <Argument name="track" type="_501" location="f0:916" file="f0" line="916"/>
922
+ </Function>
923
+ <Function id="_304" name="sp_session_preferred_offline_bitrate" returns="_445" context="_1" location="f0:1048" file="f0" line="1048" extern="1">
924
+ <Argument name="session" type="_522" location="f0:1048" file="f0" line="1048"/>
925
+ <Argument name="bitrate" type="_457" location="f0:1048" file="f0" line="1048"/>
926
+ <Argument name="allow_resync" type="_496" location="f0:1048" file="f0" line="1048"/>
927
+ </Function>
928
+ <Function id="_305" name="sp_artistbrowse_num_tracks" returns="_60" context="_1" location="f0:2208" file="f0" line="2208" extern="1">
929
+ <Argument name="arb" type="_539" location="f0:2208" file="f0" line="2208"/>
930
+ </Function>
931
+ <Function id="_306" name="sp_session_set_volume_normalization" returns="_445" context="_1" location="f0:1070" file="f0" line="1070" extern="1">
932
+ <Argument name="session" type="_522" location="f0:1070" file="f0" line="1070"/>
933
+ <Argument name="on" type="_496" location="f0:1070" file="f0" line="1070"/>
934
+ </Function>
935
+ <Typedef id="_307" name="intptr_t" type="_341" context="_1" location="f2:223" file="f2" line="223"/>
936
+ <FundamentalType id="_308" name="long unsigned int" size="32" align="32"/>
937
+ <Typedef id="_309" name="size_t" type="_308" context="_1" location="f3:35" file="f3" line="35"/>
938
+ <Function id="_310" name="sp_track_set_starred" returns="_445" context="_1" location="f0:1653" file="f0" line="1653" extern="1">
939
+ <Argument name="session" type="_522" location="f0:1653" file="f0" line="1653"/>
940
+ <Argument name="tracks" type="_541" location="f0:1653" file="f0" line="1653"/>
941
+ <Argument name="num_tracks" type="_60" location="f0:1653" file="f0" line="1653"/>
942
+ <Argument name="star" type="_496" location="f0:1653" file="f0" line="1653"/>
943
+ </Function>
944
+ <Function id="_311" name="sp_link_release" returns="_445" context="_1" location="f0:1514" file="f0" line="1514" extern="1">
945
+ <Argument name="link" type="_524" location="f0:1514" file="f0" line="1514"/>
946
+ </Function>
947
+ <Function id="_312" name="sp_search_num_playlists" returns="_60" context="_1" location="f0:2585" file="f0" line="2585" extern="1">
948
+ <Argument name="search" type="_548" location="f0:2585" file="f0" line="2585"/>
949
+ </Function>
950
+ <Function id="_313" name="sp_playlistcontainer_add_callbacks" returns="_445" context="_1" location="f0:3390" file="f0" line="3390" extern="1">
951
+ <Argument name="pc" type="_526" location="f0:3390" file="f0" line="3390"/>
952
+ <Argument name="callbacks" type="_595" location="f0:3390" file="f0" line="3390"/>
953
+ <Argument name="userdata" type="_543" location="f0:3390" file="f0" line="3390"/>
954
+ </Function>
955
+ <Function id="_314" name="sp_playlist_track_message" returns="_498" context="_1" location="f0:3005" file="f0" line="3005" extern="1">
956
+ <Argument name="playlist" type="_495" location="f0:3005" file="f0" line="3005"/>
957
+ <Argument name="index" type="_60" location="f0:3005" file="f0" line="3005"/>
958
+ </Function>
959
+ <Function id="_315" name="sp_artistbrowse_track" returns="_501" context="_1" location="f0:2220" file="f0" line="2220" extern="1">
960
+ <Argument name="arb" type="_539" location="f0:2220" file="f0" line="2220"/>
961
+ <Argument name="index" type="_60" location="f0:2220" file="f0" line="2220"/>
962
+ </Function>
963
+ <Function id="_316" name="sp_session_set_scrobbling" returns="_445" context="_1" location="f0:1108" file="f0" line="1108" extern="1">
964
+ <Argument name="session" type="_522" location="f0:1108" file="f0" line="1108"/>
965
+ <Argument name="provider" type="_383" location="f0:1108" file="f0" line="1108"/>
966
+ <Argument name="state" type="_247" location="f0:1108" file="f0" line="1108"/>
967
+ </Function>
968
+ <Function id="_317" name="sp_link_create_from_album_cover" returns="_524" context="_1" location="f0:1320" file="f0" line="1320" extern="1">
969
+ <Argument name="album" type="_531" location="f0:1320" file="f0" line="1320"/>
970
+ <Argument name="size" type="_484" location="f0:1320" file="f0" line="1320"/>
971
+ </Function>
972
+ <Function id="_318" name="__builtin_expect" returns="_361" context="_1" location="f1:16" file="f1" line="16" extern="1" attributes="nothrow const">
973
+ <Argument name="EXP" type="_361" location="f1:16" file="f1" line="16"/>
974
+ <Argument name="C" type="_361" location="f1:16" file="f1" line="16"/>
975
+ </Function>
976
+ <Function id="_319" name="sp_search_num_albums" returns="_60" context="_1" location="f0:2566" file="f0" line="2566" extern="1">
977
+ <Argument name="search" type="_548" location="f0:2566" file="f0" line="2566"/>
978
+ </Function>
979
+ <Function id="_320" name="sp_image_image_id" returns="_547" context="_1" location="f0:2455" file="f0" line="2455" extern="1">
980
+ <Argument name="image" type="_530" location="f0:2455" file="f0" line="2455"/>
981
+ </Function>
982
+ <Function id="_321" name="sp_image_create_from_link" returns="_530" context="_1" location="f0:2377" file="f0" line="2377" extern="1">
983
+ <Argument name="session" type="_522" location="f0:2377" file="f0" line="2377"/>
984
+ <Argument name="l" type="_524" location="f0:2377" file="f0" line="2377"/>
985
+ </Function>
986
+ <Function id="_322" name="sp_albumbrowse_review" returns="_498" context="_1" location="f0:2074" file="f0" line="2074" extern="1">
987
+ <Argument name="alb" type="_546" location="f0:2074" file="f0" line="2074"/>
988
+ </Function>
989
+ <Enumeration id="_323" name="sp_imageformat" context="_1" location="f0:2344" file="f0" line="2344" size="32" align="32">
990
+ <EnumValue name="SP_IMAGE_FORMAT_UNKNOWN" init="-1"/>
991
+ <EnumValue name="SP_IMAGE_FORMAT_JPEG" init="0"/>
992
+ </Enumeration>
993
+ <Function id="_324" name="__builtin_popcountl" returns="_60" context="_1" location="f1:100" file="f1" line="100" extern="1" attributes="nothrow const">
994
+ <Argument type="_361" location="f1:100" file="f1" line="100"/>
995
+ </Function>
996
+ <Struct id="_325" name="sp_session_callbacks" context="_1" mangled="20sp_session_callbacks" demangled="sp_session_callbacks" location="f0:393" file="f0" line="393" artificial="1" size="672" align="32" members="_596 _597 _598 _599 _600 _601 _602 _603 _604 _605 _606 _607 _608 _609 _610 _611 _612 _613 _614 _615 _616 _617 _618 _619 _620 " bases=""/>
997
+ <Typedef id="_326" name="sp_session_callbacks" type="_325" context="_1" location="f0:638" file="f0" line="638"/>
998
+ <Function id="_327" name="sp_session_set_connection_type" returns="_445" context="_1" location="f0:1170" file="f0" line="1170" extern="1">
999
+ <Argument name="session" type="_522" location="f0:1170" file="f0" line="1170"/>
1000
+ <Argument name="type" type="_262" location="f0:1170" file="f0" line="1170"/>
1001
+ </Function>
1002
+ <Typedef id="_328" name="uintmax_t" type="_308" context="_1" location="f2:237" file="f2" line="237"/>
1003
+ <Function id="_329" name="sp_albumbrowse_error" returns="_445" context="_1" location="f0:2003" file="f0" line="2003" extern="1">
1004
+ <Argument name="alb" type="_546" location="f0:2003" file="f0" line="2003"/>
1005
+ </Function>
1006
+ <Function id="_330" name="sp_link_type" returns="_288" context="_1" location="f0:1442" file="f0" line="1442" extern="1">
1007
+ <Argument name="link" type="_524" location="f0:1442" file="f0" line="1442"/>
1008
+ </Function>
1009
+ <Function id="_331" name="sp_search_artist" returns="_525" context="_1" location="f0:2644" file="f0" line="2644" extern="1">
1010
+ <Argument name="search" type="_548" location="f0:2644" file="f0" line="2644"/>
1011
+ <Argument name="index" type="_60" location="f0:2644" file="f0" line="2644"/>
1012
+ </Function>
1013
+ <Function id="_332" name="sp_artistbrowse_release" returns="_445" context="_1" location="f0:2327" file="f0" line="2327" extern="1">
1014
+ <Argument name="arb" type="_539" location="f0:2327" file="f0" line="2327"/>
1015
+ </Function>
1016
+ <Struct id="_333" name="sp_album" context="_1" incomplete="1" mangled="8sp_album" demangled="sp_album" location="f0:69" file="f0" line="69" artificial="1" align="8"/>
1017
+ <Typedef id="_334" name="sp_album" type="_333" context="_1" location="f0:69" file="f0" line="69"/>
1018
+ <Function id="_335" name="sp_playlist_reorder_tracks" returns="_445" context="_1" location="f0:3156" file="f0" line="3156" extern="1">
1019
+ <Argument name="playlist" type="_495" location="f0:3156" file="f0" line="3156"/>
1020
+ <Argument name="tracks" type="_621" location="f0:3156" file="f0" line="3156"/>
1021
+ <Argument name="num_tracks" type="_60" location="f0:3156" file="f0" line="3156"/>
1022
+ <Argument name="new_position" type="_60" location="f0:3156" file="f0" line="3156"/>
1023
+ </Function>
1024
+ <Function id="_336" name="sp_artist_name" returns="_498" context="_1" location="f0:1899" file="f0" line="1899" extern="1">
1025
+ <Argument name="artist" type="_525" location="f0:1899" file="f0" line="1899"/>
1026
+ </Function>
1027
+ <Function id="_337" name="sp_image_format" returns="_323" context="_1" location="f0:2435" file="f0" line="2435" extern="1">
1028
+ <Argument name="image" type="_530" location="f0:2435" file="f0" line="2435"/>
1029
+ </Function>
1030
+ <Struct id="_338" name="sp_playlistcontainer_callbacks" context="_1" mangled="30sp_playlistcontainer_callbacks" demangled="sp_playlistcontainer_callbacks" location="f0:3329" file="f0" line="3329" artificial="1" size="128" align="32" members="_622 _623 _624 _625 _626 _627 _628 _629 " bases=""/>
1031
+ <Typedef id="_339" name="sp_playlistcontainer_callbacks" type="_338" context="_1" location="f0:3370" file="f0" line="3370"/>
1032
+ <Function id="_340" name="sp_playlistcontainer_add_playlist" returns="_495" context="_1" location="f0:3501" file="f0" line="3501" extern="1">
1033
+ <Argument name="pc" type="_526" location="f0:3501" file="f0" line="3501"/>
1034
+ <Argument name="link" type="_524" location="f0:3501" file="f0" line="3501"/>
1035
+ </Function>
1036
+ <Typedef id="_341" name="int64_t" type="_49" context="_1" location="f2:67" file="f2" line="67"/>
1037
+ <Function id="_342" name="sp_albumbrowse_release" returns="_445" context="_1" location="f0:2103" file="f0" line="2103" extern="1">
1038
+ <Argument name="alb" type="_546" location="f0:2103" file="f0" line="2103"/>
1039
+ </Function>
1040
+ <Enumeration id="_343" name="sp_artistbrowse_type" context="_1" location="f0:313" file="f0" line="313" artificial="1" size="32" align="32">
1041
+ <EnumValue name="SP_ARTISTBROWSE_FULL" init="0"/>
1042
+ <EnumValue name="SP_ARTISTBROWSE_NO_TRACKS" init="1"/>
1043
+ <EnumValue name="SP_ARTISTBROWSE_NO_ALBUMS" init="2"/>
1044
+ </Enumeration>
1045
+ <Typedef id="_344" name="sp_artistbrowse_type" type="_343" context="_1" location="f0:325" file="f0" line="325"/>
1046
+ <Function id="_345" name="sp_album_type" returns="_11" context="_1" location="f0:1860" file="f0" line="1860" extern="1">
1047
+ <Argument name="album" type="_531" location="f0:1860" file="f0" line="1860"/>
1048
+ </Function>
1049
+ <Typedef id="_346" name="int32_t" type="_60" context="_1" location="f2:138" file="f2" line="138"/>
1050
+ <Enumeration id="_347" name="sp_track_offline_status" context="_1" location="f0:247" file="f0" line="247" artificial="1" size="32" align="32">
1051
+ <EnumValue name="SP_TRACK_OFFLINE_NO" init="0"/>
1052
+ <EnumValue name="SP_TRACK_OFFLINE_WAITING" init="1"/>
1053
+ <EnumValue name="SP_TRACK_OFFLINE_DOWNLOADING" init="2"/>
1054
+ <EnumValue name="SP_TRACK_OFFLINE_DONE" init="3"/>
1055
+ <EnumValue name="SP_TRACK_OFFLINE_ERROR" init="4"/>
1056
+ <EnumValue name="SP_TRACK_OFFLINE_DONE_EXPIRED" init="5"/>
1057
+ <EnumValue name="SP_TRACK_OFFLINE_LIMIT_EXCEEDED" init="6"/>
1058
+ <EnumValue name="SP_TRACK_OFFLINE_DONE_RESYNC" init="7"/>
1059
+ </Enumeration>
1060
+ <Typedef id="_348" name="sp_track_offline_status" type="_347" context="_1" location="f0:256" file="f0" line="256"/>
1061
+ <Function id="_349" name="sp_album_year" returns="_60" context="_1" location="f0:1850" file="f0" line="1850" extern="1">
1062
+ <Argument name="album" type="_531" location="f0:1850" file="f0" line="1850"/>
1063
+ </Function>
1064
+ <Function id="_350" name="sp_playlist_add_callbacks" returns="_445" context="_1" location="f0:2914" file="f0" line="2914" extern="1">
1065
+ <Argument name="playlist" type="_495" location="f0:2914" file="f0" line="2914"/>
1066
+ <Argument name="callbacks" type="_573" location="f0:2914" file="f0" line="2914"/>
1067
+ <Argument name="userdata" type="_543" location="f0:2914" file="f0" line="2914"/>
1068
+ </Function>
1069
+ <Function id="_351" name="sp_track_popularity" returns="_60" context="_1" location="f0:1716" file="f0" line="1716" extern="1">
1070
+ <Argument name="track" type="_501" location="f0:1716" file="f0" line="1716"/>
1071
+ </Function>
1072
+ <Function id="_352" name="sp_track_get_playable" returns="_501" context="_1" location="f0:1609" file="f0" line="1609" extern="1">
1073
+ <Argument name="session" type="_522" location="f0:1609" file="f0" line="1609"/>
1074
+ <Argument name="track" type="_501" location="f0:1609" file="f0" line="1609"/>
1075
+ </Function>
1076
+ <Function id="_353" name="sp_albumbrowse_copyright" returns="_498" context="_1" location="f0:2042" file="f0" line="2042" extern="1">
1077
+ <Argument name="alb" type="_546" location="f0:2042" file="f0" line="2042"/>
1078
+ <Argument name="index" type="_60" location="f0:2042" file="f0" line="2042"/>
1079
+ </Function>
1080
+ <Function id="_354" name="__builtin_inff" returns="_499" context="_1" location="f1:19" file="f1" line="19" extern="1" attributes="nothrow const"/>
1081
+ <Function id="_355" name="__builtin_infl" returns="_500" context="_1" location="f1:20" file="f1" line="20" extern="1" attributes="nothrow const"/>
1082
+ <Function id="_356" name="sp_album_is_available" returns="_496" context="_1" location="f0:1808" file="f0" line="1808" extern="1">
1083
+ <Argument name="album" type="_531" location="f0:1808" file="f0" line="1808"/>
1084
+ </Function>
1085
+ <Function id="_357" name="sp_session_preferred_bitrate" returns="_445" context="_1" location="f0:1035" file="f0" line="1035" extern="1">
1086
+ <Argument name="session" type="_522" location="f0:1035" file="f0" line="1035"/>
1087
+ <Argument name="bitrate" type="_457" location="f0:1035" file="f0" line="1035"/>
1088
+ </Function>
1089
+ <Function id="_358" name="sp_link_create_from_user" returns="_524" context="_1" location="f0:1407" file="f0" line="1407" extern="1">
1090
+ <Argument name="user" type="_523" location="f0:1407" file="f0" line="1407"/>
1091
+ </Function>
1092
+ <Function id="_359" name="sp_session_set_cache_size" returns="_445" context="_1" location="f0:888" file="f0" line="888" extern="1">
1093
+ <Argument name="session" type="_522" location="f0:888" file="f0" line="888"/>
1094
+ <Argument name="size" type="_309" location="f0:888" file="f0" line="888"/>
1095
+ </Function>
1096
+ <Function id="_360" name="sp_album_cover" returns="_547" context="_1" location="f0:1830" file="f0" line="1830" extern="1">
1097
+ <Argument name="album" type="_531" location="f0:1830" file="f0" line="1830"/>
1098
+ <Argument name="size" type="_484" location="f0:1830" file="f0" line="1830"/>
1099
+ </Function>
1100
+ <FundamentalType id="_361" name="long int" size="32" align="32"/>
1101
+ <Typedef id="_362" name="intmax_t" type="_361" context="_1" location="f2:236" file="f2" line="236"/>
1102
+ <Function id="_363" name="sp_album_name" returns="_498" context="_1" location="f0:1841" file="f0" line="1841" extern="1">
1103
+ <Argument name="album" type="_531" location="f0:1841" file="f0" line="1841"/>
1104
+ </Function>
1105
+ <Function id="_364" name="sp_search_num_tracks" returns="_60" context="_1" location="f0:2547" file="f0" line="2547" extern="1">
1106
+ <Argument name="search" type="_548" location="f0:2547" file="f0" line="2547"/>
1107
+ </Function>
1108
+ <Function id="_365" name="sp_track_name" returns="_498" context="_1" location="f0:1696" file="f0" line="1696" extern="1">
1109
+ <Argument name="track" type="_501" location="f0:1696" file="f0" line="1696"/>
1110
+ </Function>
1111
+ <Function id="_366" name="__builtin_cos" returns="_497" context="_1" mangled="cos" location="f1:39" file="f1" line="39" extern="1" attributes="nothrow pure no vops">
1112
+ <Argument type="_497" location="f1:39" file="f1" line="39"/>
1113
+ </Function>
1114
+ <FundamentalType id="_367" name="unsigned char" size="8" align="8"/>
1115
+ <Typedef id="_368" name="uint_fast8_t" type="_378" context="_1" location="f2:206" file="f2" line="206"/>
1116
+ <Function id="_369" name="sp_track_is_loaded" returns="_496" context="_1" location="f0:1534" file="f0" line="1534" extern="1">
1117
+ <Argument name="track" type="_501" location="f0:1534" file="f0" line="1534"/>
1118
+ </Function>
1119
+ <Function id="_370" name="sp_artistbrowse_error" returns="_445" context="_1" location="f0:2169" file="f0" line="2169" extern="1">
1120
+ <Argument name="arb" type="_539" location="f0:2169" file="f0" line="2169"/>
1121
+ </Function>
1122
+ <Function id="_371" name="sp_user_canonical_name" returns="_498" context="_1" location="f0:3634" file="f0" line="3634" extern="1">
1123
+ <Argument name="user" type="_523" location="f0:3634" file="f0" line="3634"/>
1124
+ </Function>
1125
+ <Function id="_372" name="sp_albumbrowse_num_copyrights" returns="_60" context="_1" location="f0:2030" file="f0" line="2030" extern="1">
1126
+ <Argument name="alb" type="_546" location="f0:2030" file="f0" line="2030"/>
1127
+ </Function>
1128
+ <Typedef id="_373" name="uint_least16_t" type="_220" context="_1" location="f2:187" file="f2" line="187"/>
1129
+ <Function id="_374" name="sp_toplistbrowse_create" returns="_521" context="_1" location="f0:3742" file="f0" line="3742" extern="1">
1130
+ <Argument name="session" type="_522" location="f0:3742" file="f0" line="3742"/>
1131
+ <Argument name="type" type="_238" location="f0:3742" file="f0" line="3742"/>
1132
+ <Argument name="region" type="_408" location="f0:3742" file="f0" line="3742"/>
1133
+ <Argument name="username" type="_498" location="f0:3742" file="f0" line="3742"/>
1134
+ <Argument name="callback" type="_630" location="f0:3742" file="f0" line="3742"/>
1135
+ <Argument name="userdata" type="_543" location="f0:3742" file="f0" line="3742"/>
1136
+ </Function>
1137
+ <Function id="_375" name="sp_albumbrowse_backend_request_duration" returns="_60" context="_1" location="f0:2084" file="f0" line="2084" extern="1">
1138
+ <Argument name="alb" type="_546" location="f0:2084" file="f0" line="2084"/>
1139
+ </Function>
1140
+ <Function id="_376" name="__builtin_ctz" returns="_60" context="_1" location="f1:96" file="f1" line="96" extern="1" attributes="nothrow const">
1141
+ <Argument type="_60" location="f1:96" file="f1" line="96"/>
1142
+ </Function>
1143
+ <Function id="_377" name="__builtin_return_address" returns="_543" context="_1" location="f1:14" file="f1" line="14" extern="1">
1144
+ <Argument name="LEVEL" type="_197" location="f1:14" file="f1" line="14"/>
1145
+ </Function>
1146
+ <Typedef id="_378" name="uint8_t" type="_367" context="_1" location="f2:197" file="f2" line="197"/>
1147
+ <Function id="_379" name="sp_playlist_update_subscribers" returns="_445" context="_1" location="f0:3208" file="f0" line="3208" extern="1">
1148
+ <Argument name="session" type="_522" location="f0:3208" file="f0" line="3208"/>
1149
+ <Argument name="playlist" type="_495" location="f0:3208" file="f0" line="3208"/>
1150
+ </Function>
1151
+ <Function id="_380" name="sp_offline_time_left" returns="_60" context="_1" location="f0:1230" file="f0" line="1230" extern="1">
1152
+ <Argument name="session" type="_522" location="f0:1230" file="f0" line="1230"/>
1153
+ </Function>
1154
+ <Function id="_381" name="sp_track_artist" returns="_525" context="_1" location="f0:1673" file="f0" line="1673" extern="1">
1155
+ <Argument name="track" type="_501" location="f0:1673" file="f0" line="1673"/>
1156
+ <Argument name="index" type="_60" location="f0:1673" file="f0" line="1673"/>
1157
+ </Function>
1158
+ <Enumeration id="_382" name="sp_social_provider" context="_1" location="f0:327" file="f0" line="327" artificial="1" size="32" align="32">
1159
+ <EnumValue name="SP_SOCIAL_PROVIDER_SPOTIFY" init="0"/>
1160
+ <EnumValue name="SP_SOCIAL_PROVIDER_FACEBOOK" init="1"/>
1161
+ <EnumValue name="SP_SOCIAL_PROVIDER_LASTFM" init="2"/>
1162
+ </Enumeration>
1163
+ <Typedef id="_383" name="sp_social_provider" type="_382" context="_1" location="f0:331" file="f0" line="331"/>
1164
+ <Enumeration id="_384" name="sp_playlist_type" context="_1" location="f0:207" file="f0" line="207" artificial="1" size="32" align="32">
1165
+ <EnumValue name="SP_PLAYLIST_TYPE_PLAYLIST" init="0"/>
1166
+ <EnumValue name="SP_PLAYLIST_TYPE_START_FOLDER" init="1"/>
1167
+ <EnumValue name="SP_PLAYLIST_TYPE_END_FOLDER" init="2"/>
1168
+ <EnumValue name="SP_PLAYLIST_TYPE_PLACEHOLDER" init="3"/>
1169
+ </Enumeration>
1170
+ <Typedef id="_385" name="sp_playlist_type" type="_384" context="_1" location="f0:212" file="f0" line="212"/>
1171
+ <Function id="_386" name="sp_link_create_from_artistbrowse_portrait" returns="_524" context="_1" location="f0:1365" file="f0" line="1365" extern="1">
1172
+ <Argument name="arb" type="_539" location="f0:1365" file="f0" line="1365"/>
1173
+ <Argument name="index" type="_60" location="f0:1365" file="f0" line="1365"/>
1174
+ </Function>
1175
+ <Function id="_387" name="sp_artistbrowse_num_albums" returns="_60" context="_1" location="f0:2253" file="f0" line="2253" extern="1">
1176
+ <Argument name="arb" type="_539" location="f0:2253" file="f0" line="2253"/>
1177
+ </Function>
1178
+ <Struct id="_388" name="sp_inbox" context="_1" incomplete="1" mangled="8sp_inbox" demangled="sp_inbox" location="f0:80" file="f0" line="80" artificial="1" align="8"/>
1179
+ <Typedef id="_389" name="sp_inbox" type="_388" context="_1" location="f0:80" file="f0" line="80"/>
1180
+ <Function id="_390" name="sp_artistbrowse_artist" returns="_525" context="_1" location="f0:2178" file="f0" line="2178" extern="1">
1181
+ <Argument name="arb" type="_539" location="f0:2178" file="f0" line="2178"/>
1182
+ </Function>
1183
+ <Function id="_391" name="sp_link_as_track_and_offset" returns="_501" context="_1" location="f0:1464" file="f0" line="1464" extern="1">
1184
+ <Argument name="link" type="_524" location="f0:1464" file="f0" line="1464"/>
1185
+ <Argument name="offset" type="_550" location="f0:1464" file="f0" line="1464"/>
1186
+ </Function>
1187
+ <Function id="_392" name="sp_playlist_track_seen" returns="_496" context="_1" location="f0:2982" file="f0" line="2982" extern="1">
1188
+ <Argument name="playlist" type="_495" location="f0:2982" file="f0" line="2982"/>
1189
+ <Argument name="index" type="_60" location="f0:2982" file="f0" line="2982"/>
1190
+ </Function>
1191
+ <Function id="_393" name="sp_search_track" returns="_501" context="_1" location="f0:2557" file="f0" line="2557" extern="1">
1192
+ <Argument name="search" type="_548" location="f0:2557" file="f0" line="2557"/>
1193
+ <Argument name="index" type="_60" location="f0:2557" file="f0" line="2557"/>
1194
+ </Function>
1195
+ <Function id="_394" name="sp_session_starred_for_user_create" returns="_495" context="_1" location="f0:1009" file="f0" line="1009" extern="1">
1196
+ <Argument name="session" type="_522" location="f0:1009" file="f0" line="1009"/>
1197
+ <Argument name="canonical_username" type="_498" location="f0:1009" file="f0" line="1009"/>
1198
+ </Function>
1199
+ <Enumeration id="_395" name="sp_sampletype" context="_1" location="f0:182" file="f0" line="182" artificial="1" size="32" align="32">
1200
+ <EnumValue name="SP_SAMPLETYPE_INT16_NATIVE_ENDIAN" init="0"/>
1201
+ </Enumeration>
1202
+ <Typedef id="_396" name="sp_sampletype" type="_395" context="_1" location="f0:184" file="f0" line="184"/>
1203
+ <Function id="_397" name="__builtin_csinhf" returns="_502" context="_1" mangled="csinhf" location="f1:117" file="f1" line="117" extern="1" attributes="nothrow pure no vops">
1204
+ <Argument type="_502" location="f1:117" file="f1" line="117"/>
1205
+ </Function>
1206
+ <Function id="_398" name="__builtin_csinhl" returns="_503" context="_1" mangled="csinhl" location="f1:119" file="f1" line="119" extern="1" attributes="nothrow pure no vops">
1207
+ <Argument type="_503" location="f1:119" file="f1" line="119"/>
1208
+ </Function>
1209
+ <Function id="_399" name="sp_playlist_subscribers_free" returns="_445" context="_1" location="f0:3191" file="f0" line="3191" extern="1">
1210
+ <Argument name="subscribers" type="_631" location="f0:3191" file="f0" line="3191"/>
1211
+ </Function>
1212
+ <Function id="_400" name="__builtin_csqrtf" returns="_502" context="_1" mangled="csqrtf" location="f1:120" file="f1" line="120" extern="1" attributes="nothrow pure no vops">
1213
+ <Argument type="_502" location="f1:120" file="f1" line="120"/>
1214
+ </Function>
1215
+ <Function id="_401" name="__builtin_csqrtl" returns="_503" context="_1" mangled="csqrtl" location="f1:122" file="f1" line="122" extern="1" attributes="nothrow pure no vops">
1216
+ <Argument type="_503" location="f1:122" file="f1" line="122"/>
1217
+ </Function>
1218
+ <Struct id="_402" name="sp_playlist" context="_1" incomplete="1" mangled="11sp_playlist" demangled="sp_playlist" location="f0:78" file="f0" line="78" artificial="1" align="8"/>
1219
+ <Typedef id="_403" name="sp_playlist" type="_402" context="_1" location="f0:78" file="f0" line="78"/>
1220
+ <Function id="_404" name="sp_playlistcontainer_is_loaded" returns="_496" context="_1" location="f0:3427" file="f0" line="3427" extern="1">
1221
+ <Argument name="pc" type="_526" location="f0:3427" file="f0" line="3427"/>
1222
+ </Function>
1223
+ <Typedef id="_405" name="int_least64_t" type="_341" context="_1" location="f2:81" file="f2" line="81"/>
1224
+ <Function id="_406" name="sp_playlistcontainer_owner" returns="_523" context="_1" location="f0:3561" file="f0" line="3561" extern="1">
1225
+ <Argument name="pc" type="_526" location="f0:3561" file="f0" line="3561"/>
1226
+ </Function>
1227
+ <Typedef id="_407" name="int8_t" type="_93" context="_1" location="f2:195" file="f2" line="195"/>
1228
+ <Enumeration id="_408" name="sp_toplistregion" context="_1" location="f0:3710" file="f0" line="3710" size="32" align="32">
1229
+ <EnumValue name="SP_TOPLIST_REGION_EVERYWHERE" init="0"/>
1230
+ <EnumValue name="SP_TOPLIST_REGION_USER" init="1"/>
1231
+ </Enumeration>
1232
+ <Function id="_409" name="sp_playlist_track_create_time" returns="_60" context="_1" location="f0:2962" file="f0" line="2962" extern="1">
1233
+ <Argument name="playlist" type="_495" location="f0:2962" file="f0" line="2962"/>
1234
+ <Argument name="index" type="_60" location="f0:2962" file="f0" line="2962"/>
1235
+ </Function>
1236
+ <Function id="_410" name="sp_session_connectionstate" returns="_245" context="_1" location="f0:867" file="f0" line="867" extern="1">
1237
+ <Argument name="session" type="_522" location="f0:867" file="f0" line="867"/>
1238
+ </Function>
1239
+ <FunctionType id="_411" returns="_545">
1240
+ <Argument type="_548"/>
1241
+ <Argument type="_543"/>
1242
+ </FunctionType>
1243
+ <Typedef id="_412" name="search_complete_cb" type="_411" context="_1" location="f0:2495" file="f0" line="2495"/>
1244
+ <Function id="_413" name="__builtin_floor" returns="_497" context="_1" mangled="floor" location="f1:51" file="f1" line="51" extern="1" attributes="nothrow const">
1245
+ <Argument type="_497" location="f1:51" file="f1" line="51"/>
1246
+ </Function>
1247
+ <Function id="_414" name="sp_user_add_ref" returns="_445" context="_1" location="f0:3666" file="f0" line="3666" extern="1">
1248
+ <Argument name="user" type="_523" location="f0:3666" file="f0" line="3666"/>
1249
+ </Function>
1250
+ <Function id="_415" name="sp_playlist_track_creator" returns="_523" context="_1" location="f0:2972" file="f0" line="2972" extern="1">
1251
+ <Argument name="playlist" type="_495" location="f0:2972" file="f0" line="2972"/>
1252
+ <Argument name="index" type="_60" location="f0:2972" file="f0" line="2972"/>
1253
+ </Function>
1254
+ <Function id="_416" name="__builtin_ldexp" returns="_497" context="_1" mangled="ldexp" location="f1:59" file="f1" line="59" extern="1" attributes="nothrow pure no vops">
1255
+ <Argument type="_497" location="f1:59" file="f1" line="59"/>
1256
+ <Argument type="_60" location="f1:59" file="f1" line="59"/>
1257
+ </Function>
1258
+ <Function id="_417" name="sp_search_total_albums" returns="_60" context="_1" location="f0:2684" file="f0" line="2684" extern="1">
1259
+ <Argument name="search" type="_548" location="f0:2684" file="f0" line="2684"/>
1260
+ </Function>
1261
+ <Typedef id="_418" name="byte" type="_367" context="_1" location="f0:59" file="f0" line="59"/>
1262
+ <Function id="_419" name="sp_session_set_connection_rules" returns="_445" context="_1" location="f0:1186" file="f0" line="1186" extern="1">
1263
+ <Argument name="session" type="_522" location="f0:1186" file="f0" line="1186"/>
1264
+ <Argument name="rules" type="_210" location="f0:1186" file="f0" line="1186"/>
1265
+ </Function>
1266
+ <Function id="_420" name="sp_offline_sync_get_status" returns="_496" context="_1" location="f0:1220" file="f0" line="1220" extern="1">
1267
+ <Argument name="session" type="_522" location="f0:1220" file="f0" line="1220"/>
1268
+ <Argument name="status" type="_632" location="f0:1220" file="f0" line="1220"/>
1269
+ </Function>
1270
+ <Enumeration id="_421" name="sp_playlist_offline_status" context="_1" location="f0:227" file="f0" line="227" artificial="1" size="32" align="32">
1271
+ <EnumValue name="SP_PLAYLIST_OFFLINE_STATUS_NO" init="0"/>
1272
+ <EnumValue name="SP_PLAYLIST_OFFLINE_STATUS_YES" init="1"/>
1273
+ <EnumValue name="SP_PLAYLIST_OFFLINE_STATUS_DOWNLOADING" init="2"/>
1274
+ <EnumValue name="SP_PLAYLIST_OFFLINE_STATUS_WAITING" init="3"/>
1275
+ </Enumeration>
1276
+ <Typedef id="_422" name="sp_playlist_offline_status" type="_421" context="_1" location="f0:232" file="f0" line="232"/>
1277
+ <Function id="_423" name="sp_track_album" returns="_531" context="_1" location="f0:1684" file="f0" line="1684" extern="1">
1278
+ <Argument name="track" type="_501" location="f0:1684" file="f0" line="1684"/>
1279
+ </Function>
1280
+ <Function id="_424" name="sp_playlist_set_offline_mode" returns="_445" context="_1" location="f0:3274" file="f0" line="3274" extern="1">
1281
+ <Argument name="session" type="_522" location="f0:3274" file="f0" line="3274"/>
1282
+ <Argument name="playlist" type="_495" location="f0:3274" file="f0" line="3274"/>
1283
+ <Argument name="offline" type="_496" location="f0:3274" file="f0" line="3274"/>
1284
+ </Function>
1285
+ <Function id="_425" name="__builtin_ccosf" returns="_502" context="_1" mangled="ccosf" location="f1:102" file="f1" line="102" extern="1" attributes="nothrow pure no vops">
1286
+ <Argument type="_502" location="f1:102" file="f1" line="102"/>
1287
+ </Function>
1288
+ <Function id="_426" name="__builtin_ccosh" returns="_529" context="_1" mangled="ccosh" location="f1:106" file="f1" line="106" extern="1" attributes="nothrow pure no vops">
1289
+ <Argument type="_529" location="f1:106" file="f1" line="106"/>
1290
+ </Function>
1291
+ <Function id="_427" name="__builtin_ccosl" returns="_503" context="_1" mangled="ccosl" location="f1:104" file="f1" line="104" extern="1" attributes="nothrow pure no vops">
1292
+ <Argument type="_503" location="f1:104" file="f1" line="104"/>
1293
+ </Function>
1294
+ <Function id="_428" name="sp_track_release" returns="_445" context="_1" location="f0:1768" file="f0" line="1768" extern="1">
1295
+ <Argument name="track" type="_501" location="f0:1768" file="f0" line="1768"/>
1296
+ </Function>
1297
+ <Function id="_429" name="sp_albumbrowse_track" returns="_501" context="_1" location="f0:2063" file="f0" line="2063" extern="1">
1298
+ <Argument name="alb" type="_546" location="f0:2063" file="f0" line="2063"/>
1299
+ <Argument name="index" type="_60" location="f0:2063" file="f0" line="2063"/>
1300
+ </Function>
1301
+ <Function id="_430" name="sp_playlistcontainer_remove_playlist" returns="_445" context="_1" location="f0:3513" file="f0" line="3513" extern="1">
1302
+ <Argument name="pc" type="_526" location="f0:3513" file="f0" line="3513"/>
1303
+ <Argument name="index" type="_60" location="f0:3513" file="f0" line="3513"/>
1304
+ </Function>
1305
+ <Function id="_431" name="sp_build_id" returns="_498" context="_1" location="f0:3936" file="f0" line="3936" extern="1"/>
1306
+ <Function id="_432" name="sp_search_playlist_uri" returns="_498" context="_1" location="f0:2615" file="f0" line="2615" extern="1">
1307
+ <Argument name="search" type="_548" location="f0:2615" file="f0" line="2615"/>
1308
+ <Argument name="index" type="_60" location="f0:2615" file="f0" line="2615"/>
1309
+ </Function>
1310
+ <Function id="_433" name="__builtin_ctanhf" returns="_502" context="_1" mangled="ctanhf" location="f1:126" file="f1" line="126" extern="1" attributes="nothrow pure no vops">
1311
+ <Argument type="_502" location="f1:126" file="f1" line="126"/>
1312
+ </Function>
1313
+ <Function id="_434" name="__builtin_ctanhl" returns="_503" context="_1" mangled="ctanhl" location="f1:128" file="f1" line="128" extern="1" attributes="nothrow pure no vops">
1314
+ <Argument type="_503" location="f1:128" file="f1" line="128"/>
1315
+ </Function>
1316
+ <Function id="_435" name="sp_search_total_artists" returns="_60" context="_1" location="f0:2695" file="f0" line="2695" extern="1">
1317
+ <Argument name="search" type="_548" location="f0:2695" file="f0" line="2695"/>
1318
+ </Function>
1319
+ <Function id="_436" name="sp_session_is_scrobbling_possible" returns="_445" context="_1" location="f0:1134" file="f0" line="1134" extern="1">
1320
+ <Argument name="session" type="_522" location="f0:1134" file="f0" line="1134"/>
1321
+ <Argument name="provider" type="_383" location="f0:1134" file="f0" line="1134"/>
1322
+ <Argument name="out" type="_633" location="f0:1134" file="f0" line="1134"/>
1323
+ </Function>
1324
+ <Function id="_437" name="sp_image_remove_load_callback" returns="_445" context="_1" location="f0:2403" file="f0" line="2403" extern="1">
1325
+ <Argument name="image" type="_530" location="f0:2403" file="f0" line="2403"/>
1326
+ <Argument name="callback" type="_594" location="f0:2403" file="f0" line="2403"/>
1327
+ <Argument name="userdata" type="_543" location="f0:2403" file="f0" line="2403"/>
1328
+ </Function>
1329
+ <Struct id="_438" name="sp_offline_sync_status" context="_1" mangled="22sp_offline_sync_status" demangled="sp_offline_sync_status" location="f0:345" file="f0" line="345" artificial="1" size="384" align="32" members="_634 _635 _636 _637 _638 _639 _640 _641 _642 _643 _644 _645 _646 " bases=""/>
1330
+ <Typedef id="_439" name="sp_offline_sync_status" type="_438" context="_1" location="f0:384" file="f0" line="384"/>
1331
+ <Function id="_440" name="__builtin_ceilf" returns="_499" context="_1" mangled="ceilf" location="f1:37" file="f1" line="37" extern="1" attributes="nothrow const">
1332
+ <Argument type="_499" location="f1:37" file="f1" line="37"/>
1333
+ </Function>
1334
+ <Function id="_441" name="sp_search_did_you_mean" returns="_498" context="_1" location="f0:2662" file="f0" line="2662" extern="1">
1335
+ <Argument name="search" type="_548" location="f0:2662" file="f0" line="2662"/>
1336
+ </Function>
1337
+ <Function id="_442" name="__builtin_ceill" returns="_500" context="_1" mangled="ceill" location="f1:38" file="f1" line="38" extern="1" attributes="nothrow const">
1338
+ <Argument type="_500" location="f1:38" file="f1" line="38"/>
1339
+ </Function>
1340
+ <Function id="_443" name="sp_playlist_create" returns="_495" context="_1" location="f0:3262" file="f0" line="3262" extern="1">
1341
+ <Argument name="session" type="_522" location="f0:3262" file="f0" line="3262"/>
1342
+ <Argument name="link" type="_524" location="f0:3262" file="f0" line="3262"/>
1343
+ </Function>
1344
+ <Enumeration id="_444" name="sp_error" context="_1" location="f0:95" file="f0" line="95" artificial="1" size="32" align="32">
1345
+ <EnumValue name="SP_ERROR_OK" init="0"/>
1346
+ <EnumValue name="SP_ERROR_BAD_API_VERSION" init="1"/>
1347
+ <EnumValue name="SP_ERROR_API_INITIALIZATION_FAILED" init="2"/>
1348
+ <EnumValue name="SP_ERROR_TRACK_NOT_PLAYABLE" init="3"/>
1349
+ <EnumValue name="SP_ERROR_BAD_APPLICATION_KEY" init="5"/>
1350
+ <EnumValue name="SP_ERROR_BAD_USERNAME_OR_PASSWORD" init="6"/>
1351
+ <EnumValue name="SP_ERROR_USER_BANNED" init="7"/>
1352
+ <EnumValue name="SP_ERROR_UNABLE_TO_CONTACT_SERVER" init="8"/>
1353
+ <EnumValue name="SP_ERROR_CLIENT_TOO_OLD" init="9"/>
1354
+ <EnumValue name="SP_ERROR_OTHER_PERMANENT" init="10"/>
1355
+ <EnumValue name="SP_ERROR_BAD_USER_AGENT" init="11"/>
1356
+ <EnumValue name="SP_ERROR_MISSING_CALLBACK" init="12"/>
1357
+ <EnumValue name="SP_ERROR_INVALID_INDATA" init="13"/>
1358
+ <EnumValue name="SP_ERROR_INDEX_OUT_OF_RANGE" init="14"/>
1359
+ <EnumValue name="SP_ERROR_USER_NEEDS_PREMIUM" init="15"/>
1360
+ <EnumValue name="SP_ERROR_OTHER_TRANSIENT" init="16"/>
1361
+ <EnumValue name="SP_ERROR_IS_LOADING" init="17"/>
1362
+ <EnumValue name="SP_ERROR_NO_STREAM_AVAILABLE" init="18"/>
1363
+ <EnumValue name="SP_ERROR_PERMISSION_DENIED" init="19"/>
1364
+ <EnumValue name="SP_ERROR_INBOX_IS_FULL" init="20"/>
1365
+ <EnumValue name="SP_ERROR_NO_CACHE" init="21"/>
1366
+ <EnumValue name="SP_ERROR_NO_SUCH_USER" init="22"/>
1367
+ <EnumValue name="SP_ERROR_NO_CREDENTIALS" init="23"/>
1368
+ <EnumValue name="SP_ERROR_NETWORK_DISABLED" init="24"/>
1369
+ <EnumValue name="SP_ERROR_INVALID_DEVICE_ID" init="25"/>
1370
+ <EnumValue name="SP_ERROR_CANT_OPEN_TRACE_FILE" init="26"/>
1371
+ <EnumValue name="SP_ERROR_APPLICATION_BANNED" init="27"/>
1372
+ <EnumValue name="SP_ERROR_OFFLINE_TOO_MANY_TRACKS" init="31"/>
1373
+ <EnumValue name="SP_ERROR_OFFLINE_DISK_CACHE" init="32"/>
1374
+ <EnumValue name="SP_ERROR_OFFLINE_EXPIRED" init="33"/>
1375
+ <EnumValue name="SP_ERROR_OFFLINE_NOT_ALLOWED" init="34"/>
1376
+ <EnumValue name="SP_ERROR_OFFLINE_LICENSE_LOST" init="35"/>
1377
+ <EnumValue name="SP_ERROR_OFFLINE_LICENSE_ERROR" init="36"/>
1378
+ <EnumValue name="SP_ERROR_LASTFM_AUTH_ERROR" init="39"/>
1379
+ <EnumValue name="SP_ERROR_INVALID_ARGUMENT" init="40"/>
1380
+ <EnumValue name="SP_ERROR_SYSTEM_FAILURE" init="41"/>
1381
+ </Enumeration>
1382
+ <Typedef id="_445" name="sp_error" type="_444" context="_1" location="f0:132" file="f0" line="132"/>
1383
+ <Function id="_446" name="sp_artistbrowse_similar_artist" returns="_525" context="_1" location="f0:2286" file="f0" line="2286" extern="1">
1384
+ <Argument name="arb" type="_539" location="f0:2286" file="f0" line="2286"/>
1385
+ <Argument name="index" type="_60" location="f0:2286" file="f0" line="2286"/>
1386
+ </Function>
1387
+ <Function id="_447" name="__builtin_csinf" returns="_502" context="_1" mangled="csinf" location="f1:114" file="f1" line="114" extern="1" attributes="nothrow pure no vops">
1388
+ <Argument type="_502" location="f1:114" file="f1" line="114"/>
1389
+ </Function>
1390
+ <Function id="_448" name="__builtin_csinh" returns="_529" context="_1" mangled="csinh" location="f1:118" file="f1" line="118" extern="1" attributes="nothrow pure no vops">
1391
+ <Argument type="_529" location="f1:118" file="f1" line="118"/>
1392
+ </Function>
1393
+ <Function id="_449" name="__builtin_csinl" returns="_503" context="_1" mangled="csinl" location="f1:116" file="f1" line="116" extern="1" attributes="nothrow pure no vops">
1394
+ <Argument type="_503" location="f1:116" file="f1" line="116"/>
1395
+ </Function>
1396
+ <FunctionType id="_450" returns="_545">
1397
+ <Argument type="_540"/>
1398
+ <Argument type="_543"/>
1399
+ </FunctionType>
1400
+ <Typedef id="_451" name="inboxpost_complete_cb" type="_450" context="_1" location="f0:3876" file="f0" line="3876"/>
1401
+ <Function id="_452" name="__builtin_acos" returns="_497" context="_1" mangled="acos" location="f1:24" file="f1" line="24" extern="1" attributes="nothrow pure no vops">
1402
+ <Argument type="_497" location="f1:24" file="f1" line="24"/>
1403
+ </Function>
1404
+ <Function id="_453" name="sp_album_add_ref" returns="_445" context="_1" location="f0:1870" file="f0" line="1870" extern="1">
1405
+ <Argument name="album" type="_531" location="f0:1870" file="f0" line="1870"/>
1406
+ </Function>
1407
+ <Function id="_454" name="sp_playlist_subscribers" returns="_631" context="_1" location="f0:3182" file="f0" line="3182" extern="1">
1408
+ <Argument name="playlist" type="_495" location="f0:3182" file="f0" line="3182"/>
1409
+ </Function>
1410
+ <Function id="_455" name="sp_playlist_remove_tracks" returns="_445" context="_1" location="f0:3139" file="f0" line="3139" extern="1">
1411
+ <Argument name="playlist" type="_495" location="f0:3139" file="f0" line="3139"/>
1412
+ <Argument name="tracks" type="_621" location="f0:3139" file="f0" line="3139"/>
1413
+ <Argument name="num_tracks" type="_60" location="f0:3139" file="f0" line="3139"/>
1414
+ </Function>
1415
+ <Enumeration id="_456" name="sp_bitrate" context="_1" location="f0:198" file="f0" line="198" artificial="1" size="32" align="32">
1416
+ <EnumValue name="SP_BITRATE_160k" init="0"/>
1417
+ <EnumValue name="SP_BITRATE_320k" init="1"/>
1418
+ <EnumValue name="SP_BITRATE_96k" init="2"/>
1419
+ </Enumeration>
1420
+ <Typedef id="_457" name="sp_bitrate" type="_456" context="_1" location="f0:202" file="f0" line="202"/>
1421
+ <Function id="_458" name="__builtin_ctzll" returns="_60" context="_1" location="f1:98" file="f1" line="98" extern="1" attributes="nothrow const">
1422
+ <Argument type="_49" location="f1:98" file="f1" line="98"/>
1423
+ </Function>
1424
+ <Typedef id="_459" name="uint_fast32_t" type="_198" context="_1" location="f2:158" file="f2" line="158"/>
1425
+ <Function id="_460" name="__builtin_cargf" returns="_499" context="_1" mangled="cargf" location="f1:93" file="f1" line="93" extern="1" attributes="nothrow pure no vops">
1426
+ <Argument type="_502" location="f1:93" file="f1" line="93"/>
1427
+ </Function>
1428
+ <Function id="_461" name="__builtin_cargl" returns="_500" context="_1" mangled="cargl" location="f1:95" file="f1" line="95" extern="1" attributes="nothrow pure no vops">
1429
+ <Argument type="_503" location="f1:95" file="f1" line="95"/>
1430
+ </Function>
1431
+ <Function id="_462" name="sp_playlistcontainer_move_playlist" returns="_445" context="_1" location="f0:3528" file="f0" line="3528" extern="1">
1432
+ <Argument name="pc" type="_526" location="f0:3528" file="f0" line="3528"/>
1433
+ <Argument name="index" type="_60" location="f0:3528" file="f0" line="3528"/>
1434
+ <Argument name="new_position" type="_60" location="f0:3528" file="f0" line="3528"/>
1435
+ <Argument name="dry_run" type="_496" location="f0:3528" file="f0" line="3528"/>
1436
+ </Function>
1437
+ <Function id="_463" name="sp_session_is_private_session" returns="_496" context="_1" location="f0:1093" file="f0" line="1093" extern="1">
1438
+ <Argument name="session" type="_522" location="f0:1093" file="f0" line="1093"/>
1439
+ </Function>
1440
+ <Function id="_464" name="sp_toplistbrowse_num_artists" returns="_60" context="_1" location="f0:3794" file="f0" line="3794" extern="1">
1441
+ <Argument name="tlb" type="_521" location="f0:3794" file="f0" line="3794"/>
1442
+ </Function>
1443
+ <Function id="_465" name="sp_playlistcontainer_add_folder" returns="_445" context="_1" location="f0:3552" file="f0" line="3552" extern="1">
1444
+ <Argument name="pc" type="_526" location="f0:3552" file="f0" line="3552"/>
1445
+ <Argument name="index" type="_60" location="f0:3552" file="f0" line="3552"/>
1446
+ <Argument name="name" type="_498" location="f0:3552" file="f0" line="3552"/>
1447
+ </Function>
1448
+ <Function id="_466" name="__builtin_cosf" returns="_499" context="_1" mangled="cosf" location="f1:40" file="f1" line="40" extern="1" attributes="nothrow pure no vops">
1449
+ <Argument type="_499" location="f1:40" file="f1" line="40"/>
1450
+ </Function>
1451
+ <Function id="_467" name="__builtin_cosh" returns="_497" context="_1" mangled="cosh" location="f1:41" file="f1" line="41" extern="1" attributes="nothrow pure no vops">
1452
+ <Argument type="_497" location="f1:41" file="f1" line="41"/>
1453
+ </Function>
1454
+ <Function id="_468" name="__builtin_cosl" returns="_500" context="_1" mangled="cosl" location="f1:44" file="f1" line="44" extern="1" attributes="nothrow pure no vops">
1455
+ <Argument type="_500" location="f1:44" file="f1" line="44"/>
1456
+ </Function>
1457
+ <FunctionType id="_469" returns="_545">
1458
+ <Argument type="_546"/>
1459
+ <Argument type="_543"/>
1460
+ </FunctionType>
1461
+ <Typedef id="_470" name="albumbrowse_complete_cb" type="_469" context="_1" location="f0:1964" file="f0" line="1964"/>
1462
+ <Function id="_471" name="sp_session_remembered_user" returns="_60" context="_1" location="f0:801" file="f0" line="801" extern="1">
1463
+ <Argument name="session" type="_522" location="f0:801" file="f0" line="801"/>
1464
+ <Argument name="buffer" type="_528" location="f0:801" file="f0" line="801"/>
1465
+ <Argument name="buffer_size" type="_309" location="f0:801" file="f0" line="801"/>
1466
+ </Function>
1467
+ <Function id="_472" name="sp_session_login" returns="_445" context="_1" location="f0:772" file="f0" line="772" extern="1">
1468
+ <Argument name="session" type="_522" location="f0:772" file="f0" line="772"/>
1469
+ <Argument name="username" type="_498" location="f0:772" file="f0" line="772"/>
1470
+ <Argument name="password" type="_498" location="f0:772" file="f0" line="772"/>
1471
+ <Argument name="remember_me" type="_496" location="f0:772" file="f0" line="772"/>
1472
+ <Argument name="blob" type="_498" location="f0:772" file="f0" line="772"/>
1473
+ </Function>
1474
+ <Function id="_473" name="sp_search_add_ref" returns="_445" context="_1" location="f0:2715" file="f0" line="2715" extern="1">
1475
+ <Argument name="search" type="_548" location="f0:2715" file="f0" line="2715"/>
1476
+ </Function>
1477
+ <Function id="_474" name="sp_search_total_tracks" returns="_60" context="_1" location="f0:2673" file="f0" line="2673" extern="1">
1478
+ <Argument name="search" type="_548" location="f0:2673" file="f0" line="2673"/>
1479
+ </Function>
1480
+ <Function id="_475" name="sp_playlistcontainer_remove_callbacks" returns="_445" context="_1" location="f0:3405" file="f0" line="3405" extern="1">
1481
+ <Argument name="pc" type="_526" location="f0:3405" file="f0" line="3405"/>
1482
+ <Argument name="callbacks" type="_595" location="f0:3405" file="f0" line="3405"/>
1483
+ <Argument name="userdata" type="_543" location="f0:3405" file="f0" line="3405"/>
1484
+ </Function>
1485
+ <Function id="_476" name="sp_playlist_num_subscribers" returns="_197" context="_1" location="f0:3167" file="f0" line="3167" extern="1">
1486
+ <Argument name="playlist" type="_495" location="f0:3167" file="f0" line="3167"/>
1487
+ </Function>
1488
+ <Function id="_477" name="sp_playlist_has_pending_changes" returns="_496" context="_1" location="f0:3108" file="f0" line="3108" extern="1">
1489
+ <Argument name="playlist" type="_495" location="f0:3108" file="f0" line="3108"/>
1490
+ </Function>
1491
+ <Function id="_478" name="sp_artistbrowse_backend_request_duration" returns="_60" context="_1" location="f0:2308" file="f0" line="2308" extern="1">
1492
+ <Argument name="arb" type="_539" location="f0:2308" file="f0" line="2308"/>
1493
+ </Function>
1494
+ <Function id="_479" name="sp_playlist_get_offline_download_completed" returns="_60" context="_1" location="f0:3301" file="f0" line="3301" extern="1">
1495
+ <Argument name="session" type="_522" location="f0:3301" file="f0" line="3301"/>
1496
+ <Argument name="playlist" type="_495" location="f0:3301" file="f0" line="3301"/>
1497
+ </Function>
1498
+ <Function id="_480" name="sp_artist_release" returns="_445" context="_1" location="f0:1940" file="f0" line="1940" extern="1">
1499
+ <Argument name="artist" type="_525" location="f0:1940" file="f0" line="1940"/>
1500
+ </Function>
1501
+ <Function id="_481" name="__builtin_bswap32" returns="_197" context="_1" location="f1:134" file="f1" line="134" extern="1">
1502
+ <Argument name="_data" type="_197" location="f1:134" file="f1" line="134"/>
1503
+ </Function>
1504
+ <Typedef id="_482" name="uint_least8_t" type="_378" context="_1" location="f2:204" file="f2" line="204"/>
1505
+ <Enumeration id="_483" name="sp_image_size" context="_1" location="f0:261" file="f0" line="261" artificial="1" size="32" align="32">
1506
+ <EnumValue name="SP_IMAGE_SIZE_NORMAL" init="0"/>
1507
+ <EnumValue name="SP_IMAGE_SIZE_SMALL" init="1"/>
1508
+ <EnumValue name="SP_IMAGE_SIZE_LARGE" init="2"/>
1509
+ </Enumeration>
1510
+ <Typedef id="_484" name="sp_image_size" type="_483" context="_1" location="f0:265" file="f0" line="265"/>
1511
+ <Function id="_485" name="sp_image_release" returns="_445" context="_1" location="f0:2474" file="f0" line="2474" extern="1">
1512
+ <Argument name="image" type="_530" location="f0:2474" file="f0" line="2474"/>
1513
+ </Function>
1514
+ <Function id="_486" name="sp_artistbrowse_tophit_track" returns="_501" context="_1" location="f0:2244" file="f0" line="2244" extern="1">
1515
+ <Argument name="arb" type="_539" location="f0:2244" file="f0" line="2244"/>
1516
+ <Argument name="index" type="_60" location="f0:2244" file="f0" line="2244"/>
1517
+ </Function>
1518
+ <Function id="_487" name="sp_session_release" returns="_445" context="_1" location="f0:748" file="f0" line="748" extern="1">
1519
+ <Argument name="sess" type="_522" location="f0:748" file="f0" line="748"/>
1520
+ </Function>
1521
+ <Function id="_488" name="__builtin_sinf" returns="_499" context="_1" mangled="sinf" location="f1:76" file="f1" line="76" extern="1" attributes="nothrow pure no vops">
1522
+ <Argument type="_499" location="f1:76" file="f1" line="76"/>
1523
+ </Function>
1524
+ <Function id="_489" name="__builtin_sinh" returns="_497" context="_1" mangled="sinh" location="f1:77" file="f1" line="77" extern="1" attributes="nothrow pure no vops">
1525
+ <Argument type="_497" location="f1:77" file="f1" line="77"/>
1526
+ </Function>
1527
+ <Function id="_490" name="__builtin_sinl" returns="_500" context="_1" mangled="sinl" location="f1:80" file="f1" line="80" extern="1" attributes="nothrow pure no vops">
1528
+ <Argument type="_500" location="f1:80" file="f1" line="80"/>
1529
+ </Function>
1530
+ <Typedef id="_491" name="uint64_t" type="_7" context="_1" location="f2:69" file="f2" line="69"/>
1531
+ <Function id="_492" name="__builtin_csin" returns="_529" context="_1" mangled="csin" location="f1:115" file="f1" line="115" extern="1" attributes="nothrow pure no vops">
1532
+ <Argument type="_529" location="f1:115" file="f1" line="115"/>
1533
+ </Function>
1534
+ <Function id="_493" name="sp_toplistbrowse_error" returns="_445" context="_1" location="f0:3765" file="f0" line="3765" extern="1">
1535
+ <Argument name="tlb" type="_521" location="f0:3765" file="f0" line="3765"/>
1536
+ </Function>
1537
+ <Function id="_494" name="sp_track_is_local" returns="_496" context="_1" location="f0:1584" file="f0" line="1584" extern="1">
1538
+ <Argument name="session" type="_522" location="f0:1584" file="f0" line="1584"/>
1539
+ <Argument name="track" type="_501" location="f0:1584" file="f0" line="1584"/>
1540
+ </Function>
1541
+ <PointerType id="_495" type="_403" size="32" align="32"/>
1542
+ <FundamentalType id="_496" name="bool" size="8" align="8"/>
1543
+ <FundamentalType id="_497" name="double" size="64" align="64"/>
1544
+ <PointerType id="_498" type="_647c" size="32" align="32"/>
1545
+ <FundamentalType id="_499" name="float" size="32" align="32"/>
1546
+ <FundamentalType id="_500" name="long double" size="128" align="128"/>
1547
+ <PointerType id="_501" type="_55" size="32" align="32"/>
1548
+ <FundamentalType id="_502" name="complex float" size="64" align="32"/>
1549
+ <FundamentalType id="_503" name="complex long double" size="256" align="128"/>
1550
+ <Field id="_504" name="tracks_added" type="_649" offset="0" context="_19" access="public" location="f0:2760" file="f0" line="2760"/>
1551
+ <Field id="_505" name="tracks_removed" type="_650" offset="32" context="_19" access="public" location="f0:2770" file="f0" line="2770"/>
1552
+ <Field id="_506" name="tracks_moved" type="_651" offset="64" context="_19" access="public" location="f0:2781" file="f0" line="2781"/>
1553
+ <Field id="_507" name="playlist_renamed" type="_652" offset="96" context="_19" access="public" location="f0:2789" file="f0" line="2789"/>
1554
+ <Field id="_508" name="playlist_state_changed" type="_652" offset="128" context="_19" access="public" location="f0:2805" file="f0" line="2805"/>
1555
+ <Field id="_509" name="playlist_update_in_progress" type="_653" offset="160" context="_19" access="public" location="f0:2818" file="f0" line="2818"/>
1556
+ <Field id="_510" name="playlist_metadata_updated" type="_652" offset="192" context="_19" access="public" location="f0:2826" file="f0" line="2826"/>
1557
+ <Field id="_511" name="track_created_changed" type="_654" offset="224" context="_19" access="public" location="f0:2837" file="f0" line="2837"/>
1558
+ <Field id="_512" name="track_seen_changed" type="_655" offset="256" context="_19" access="public" location="f0:2847" file="f0" line="2847"/>
1559
+ <Field id="_513" name="description_changed" type="_656" offset="288" context="_19" access="public" location="f0:2856" file="f0" line="2856"/>
1560
+ <Field id="_514" name="image_changed" type="_657" offset="320" context="_19" access="public" location="f0:2866" file="f0" line="2866"/>
1561
+ <Field id="_515" name="track_message_changed" type="_658" offset="352" context="_19" access="public" location="f0:2877" file="f0" line="2877"/>
1562
+ <Field id="_516" name="subscribers_changed" type="_652" offset="384" context="_19" access="public" location="f0:2886" file="f0" line="2886"/>
1563
+ <Destructor id="_517" name="sp_playlist_callbacks" artificial="1" throw="" context="_19" access="public" mangled="_ZN21sp_playlist_callbacksD1Ev *INTERNAL* " demangled="sp_playlist_callbacks::~sp_playlist_callbacks()" location="f0:2749" file="f0" line="2749" endline="2749" inline="1">
1564
+ </Destructor>
1565
+ <OperatorMethod id="_518" name="=" returns="_659" artificial="1" throw="" context="_19" access="public" mangled="_ZN21sp_playlist_callbacksaSERKS_" demangled="sp_playlist_callbacks::operator=(sp_playlist_callbacks const&amp;)" location="f0:2749" file="f0" line="2749" endline="2749" inline="1">
1566
+ <Argument type="_660" location="f0:2749" file="f0" line="2749"/>
1567
+ </OperatorMethod>
1568
+ <Constructor id="_519" name="sp_playlist_callbacks" artificial="1" throw="" context="_19" access="public" mangled="_ZN21sp_playlist_callbacksC1ERKS_ *INTERNAL* " demangled="sp_playlist_callbacks::sp_playlist_callbacks(sp_playlist_callbacks const&amp;)" location="f0:2749" file="f0" line="2749" endline="2749" inline="1">
1569
+ <Argument type="_660" location="f0:2749" file="f0" line="2749"/>
1570
+ </Constructor>
1571
+ <Constructor id="_520" name="sp_playlist_callbacks" artificial="1" throw="" context="_19" access="public" mangled="_ZN21sp_playlist_callbacksC1Ev *INTERNAL* " demangled="sp_playlist_callbacks::sp_playlist_callbacks()" location="f0:2749" file="f0" line="2749" inline="1"/>
1572
+ <PointerType id="_521" type="_100" size="32" align="32"/>
1573
+ <PointerType id="_522" type="_230" size="32" align="32"/>
1574
+ <PointerType id="_523" type="_76" size="32" align="32"/>
1575
+ <PointerType id="_524" type="_124" size="32" align="32"/>
1576
+ <PointerType id="_525" type="_70" size="32" align="32"/>
1577
+ <PointerType id="_526" type="_140" size="32" align="32"/>
1578
+ <PointerType id="_527" type="_501" size="32" align="32"/>
1579
+ <PointerType id="_528" type="_647" size="32" align="32"/>
1580
+ <FundamentalType id="_529" name="complex double" size="128" align="64"/>
1581
+ <PointerType id="_530" type="_79" size="32" align="32"/>
1582
+ <PointerType id="_531" type="_334" size="32" align="32"/>
1583
+ <Field id="_532" name="count" type="_197" offset="0" context="_62" access="public" location="f0:279" file="f0" line="279"/>
1584
+ <Field id="_533" name="subscribers" type="_661" offset="32" context="_62" access="public" location="f0:280" file="f0" line="280"/>
1585
+ <Destructor id="_534" name="sp_subscribers" artificial="1" throw="" context="_62" access="public" mangled="_ZN14sp_subscribersD1Ev *INTERNAL* " demangled="sp_subscribers::~sp_subscribers()" location="f0:278" file="f0" line="278" endline="278" inline="1">
1586
+ </Destructor>
1587
+ <OperatorMethod id="_535" name="=" returns="_662" artificial="1" throw="" context="_62" access="public" mangled="_ZN14sp_subscribersaSERKS_" demangled="sp_subscribers::operator=(sp_subscribers const&amp;)" location="f0:278" file="f0" line="278" endline="278" inline="1">
1588
+ <Argument type="_663" location="f0:278" file="f0" line="278"/>
1589
+ </OperatorMethod>
1590
+ <Constructor id="_536" name="sp_subscribers" artificial="1" throw="" context="_62" access="public" mangled="_ZN14sp_subscribersC1ERKS_ *INTERNAL* " demangled="sp_subscribers::sp_subscribers(sp_subscribers const&amp;)" location="f0:278" file="f0" line="278" endline="278" inline="1">
1591
+ <Argument type="_663" location="f0:278" file="f0" line="278"/>
1592
+ </Constructor>
1593
+ <Constructor id="_537" name="sp_subscribers" artificial="1" throw="" context="_62" access="public" mangled="_ZN14sp_subscribersC1Ev *INTERNAL* " demangled="sp_subscribers::sp_subscribers()" location="f0:278" file="f0" line="278" inline="1"/>
1594
+ <PointerType id="_538" type="_418" size="32" align="32"/>
1595
+ <PointerType id="_539" type="_222" size="32" align="32"/>
1596
+ <PointerType id="_540" type="_389" size="32" align="32"/>
1597
+ <PointerType id="_541" type="_501c" size="32" align="32"/>
1598
+ <PointerType id="_542" type="_451" size="32" align="32"/>
1599
+ <PointerType id="_543" type="_545" size="32" align="32"/>
1600
+ <PointerType id="_544" type="_247" size="32" align="32"/>
1601
+ <FundamentalType id="_545" name="void" align="8"/>
1602
+ <PointerType id="_546" type="_153" size="32" align="32"/>
1603
+ <PointerType id="_547" type="_418c" size="32" align="32"/>
1604
+ <PointerType id="_548" type="_219" size="32" align="32"/>
1605
+ <PointerType id="_549" type="_470" size="32" align="32"/>
1606
+ <PointerType id="_550" type="_60" size="32" align="32"/>
1607
+ <Field id="_551" name="api_version" type="_60" offset="0" context="_173" access="public" location="f0:644" file="f0" line="644"/>
1608
+ <Field id="_552" name="cache_location" type="_498" offset="32" context="_173" access="public" location="f0:645" file="f0" line="645"/>
1609
+ <Field id="_553" name="settings_location" type="_498" offset="64" context="_173" access="public" location="f0:649" file="f0" line="649"/>
1610
+ <Field id="_554" name="application_key" type="_576" offset="96" context="_173" access="public" location="f0:655" file="f0" line="655"/>
1611
+ <Field id="_555" name="application_key_size" type="_309" offset="128" context="_173" access="public" location="f0:656" file="f0" line="656"/>
1612
+ <Field id="_556" name="user_agent" type="_498" offset="160" context="_173" access="public" location="f0:657" file="f0" line="657"/>
1613
+ <Field id="_557" name="callbacks" type="_666" offset="192" context="_173" access="public" location="f0:661" file="f0" line="661"/>
1614
+ <Field id="_558" name="userdata" type="_543" offset="224" context="_173" access="public" location="f0:662" file="f0" line="662"/>
1615
+ <Field id="_559" name="compress_playlists" type="_496" offset="256" context="_173" access="public" location="f0:667" file="f0" line="667"/>
1616
+ <Field id="_560" name="dont_save_metadata_for_playlists" type="_496" offset="264" context="_173" access="public" location="f0:674" file="f0" line="674"/>
1617
+ <Field id="_561" name="initially_unload_playlists" type="_496" offset="272" context="_173" access="public" location="f0:680" file="f0" line="680"/>
1618
+ <Field id="_562" name="device_id" type="_498" offset="288" context="_173" access="public" location="f0:687" file="f0" line="687"/>
1619
+ <Field id="_563" name="proxy" type="_498" offset="320" context="_173" access="public" location="f0:693" file="f0" line="693"/>
1620
+ <Field id="_564" name="proxy_username" type="_498" offset="352" context="_173" access="public" location="f0:697" file="f0" line="697"/>
1621
+ <Field id="_565" name="proxy_password" type="_498" offset="384" context="_173" access="public" location="f0:701" file="f0" line="701"/>
1622
+ <Field id="_566" name="ca_certs_filename" type="_498" offset="416" context="_173" access="public" location="f0:709" file="f0" line="709"/>
1623
+ <Field id="_567" name="tracefile" type="_498" offset="448" context="_173" access="public" location="f0:714" file="f0" line="714"/>
1624
+ <Destructor id="_568" name="sp_session_config" artificial="1" throw="" context="_173" access="public" mangled="_ZN17sp_session_configD1Ev *INTERNAL* " demangled="sp_session_config::~sp_session_config()" location="f0:643" file="f0" line="643" endline="643" inline="1">
1625
+ </Destructor>
1626
+ <OperatorMethod id="_569" name="=" returns="_667" artificial="1" throw="" context="_173" access="public" mangled="_ZN17sp_session_configaSERKS_" demangled="sp_session_config::operator=(sp_session_config const&amp;)" location="f0:643" file="f0" line="643" endline="643" inline="1">
1627
+ <Argument type="_668" location="f0:643" file="f0" line="643"/>
1628
+ </OperatorMethod>
1629
+ <Constructor id="_570" name="sp_session_config" artificial="1" throw="" context="_173" access="public" mangled="_ZN17sp_session_configC1ERKS_ *INTERNAL* " demangled="sp_session_config::sp_session_config(sp_session_config const&amp;)" location="f0:643" file="f0" line="643" endline="643" inline="1">
1630
+ <Argument type="_668" location="f0:643" file="f0" line="643"/>
1631
+ </Constructor>
1632
+ <Constructor id="_571" name="sp_session_config" artificial="1" throw="" context="_173" access="public" mangled="_ZN17sp_session_configC1Ev *INTERNAL* " demangled="sp_session_config::sp_session_config()" location="f0:643" file="f0" line="643" inline="1"/>
1633
+ <PointerType id="_572" type="_412" size="32" align="32"/>
1634
+ <PointerType id="_573" type="_20" size="32" align="32"/>
1635
+ <PointerType id="_574" type="_499" size="32" align="32"/>
1636
+ <PointerType id="_575" type="_500" size="32" align="32"/>
1637
+ <PointerType id="_576" type="_545c" size="32" align="32"/>
1638
+ <Field id="_577" name="samples" type="_60" offset="0" context="_193" access="public" location="f0:271" file="f0" line="271"/>
1639
+ <Field id="_578" name="stutter" type="_60" offset="32" context="_193" access="public" location="f0:272" file="f0" line="272"/>
1640
+ <Destructor id="_579" name="sp_audio_buffer_stats" artificial="1" throw="" context="_193" access="public" mangled="_ZN21sp_audio_buffer_statsD1Ev *INTERNAL* " demangled="sp_audio_buffer_stats::~sp_audio_buffer_stats()" location="f0:270" file="f0" line="270" endline="270" inline="1">
1641
+ </Destructor>
1642
+ <OperatorMethod id="_580" name="=" returns="_670" artificial="1" throw="" context="_193" access="public" mangled="_ZN21sp_audio_buffer_statsaSERKS_" demangled="sp_audio_buffer_stats::operator=(sp_audio_buffer_stats const&amp;)" location="f0:270" file="f0" line="270" endline="270" inline="1">
1643
+ <Argument type="_671" location="f0:270" file="f0" line="270"/>
1644
+ </OperatorMethod>
1645
+ <Constructor id="_581" name="sp_audio_buffer_stats" artificial="1" throw="" context="_193" access="public" mangled="_ZN21sp_audio_buffer_statsC1ERKS_ *INTERNAL* " demangled="sp_audio_buffer_stats::sp_audio_buffer_stats(sp_audio_buffer_stats const&amp;)" location="f0:270" file="f0" line="270" endline="270" inline="1">
1646
+ <Argument type="_671" location="f0:270" file="f0" line="270"/>
1647
+ </Constructor>
1648
+ <Constructor id="_582" name="sp_audio_buffer_stats" artificial="1" throw="" context="_193" access="public" mangled="_ZN21sp_audio_buffer_statsC1Ev *INTERNAL* " demangled="sp_audio_buffer_stats::sp_audio_buffer_stats()" location="f0:270" file="f0" line="270" inline="1"/>
1649
+ <PointerType id="_583" type="_309" size="32" align="32"/>
1650
+ <PointerType id="_584" type="_256" size="32" align="32"/>
1651
+ <Field id="_585" name="sample_type" type="_396" offset="0" context="_271" access="public" location="f0:190" file="f0" line="190"/>
1652
+ <Field id="_586" name="sample_rate" type="_60" offset="32" context="_271" access="public" location="f0:191" file="f0" line="191"/>
1653
+ <Field id="_587" name="channels" type="_60" offset="64" context="_271" access="public" location="f0:192" file="f0" line="192"/>
1654
+ <Destructor id="_588" name="sp_audioformat" artificial="1" throw="" context="_271" access="public" mangled="_ZN14sp_audioformatD1Ev *INTERNAL* " demangled="sp_audioformat::~sp_audioformat()" location="f0:189" file="f0" line="189" endline="189" inline="1">
1655
+ </Destructor>
1656
+ <OperatorMethod id="_589" name="=" returns="_672" artificial="1" throw="" context="_271" access="public" mangled="_ZN14sp_audioformataSERKS_" demangled="sp_audioformat::operator=(sp_audioformat const&amp;)" location="f0:189" file="f0" line="189" endline="189" inline="1">
1657
+ <Argument type="_673" location="f0:189" file="f0" line="189"/>
1658
+ </OperatorMethod>
1659
+ <Constructor id="_590" name="sp_audioformat" artificial="1" throw="" context="_271" access="public" mangled="_ZN14sp_audioformatC1ERKS_ *INTERNAL* " demangled="sp_audioformat::sp_audioformat(sp_audioformat const&amp;)" location="f0:189" file="f0" line="189" endline="189" inline="1">
1660
+ <Argument type="_673" location="f0:189" file="f0" line="189"/>
1661
+ </Constructor>
1662
+ <Constructor id="_591" name="sp_audioformat" artificial="1" throw="" context="_271" access="public" mangled="_ZN14sp_audioformatC1Ev *INTERNAL* " demangled="sp_audioformat::sp_audioformat()" location="f0:189" file="f0" line="189" inline="1"/>
1663
+ <PointerType id="_592" type="_174c" size="32" align="32"/>
1664
+ <PointerType id="_593" type="_522" size="32" align="32"/>
1665
+ <PointerType id="_594" type="_129" size="32" align="32"/>
1666
+ <PointerType id="_595" type="_339" size="32" align="32"/>
1667
+ <Field id="_596" name="logged_in" type="_675" offset="0" context="_325" access="public" location="f0:409" file="f0" line="409"/>
1668
+ <Field id="_597" name="logged_out" type="_676" offset="32" context="_325" access="public" location="f0:418" file="f0" line="418"/>
1669
+ <Field id="_598" name="metadata_updated" type="_676" offset="64" context="_325" access="public" location="f0:427" file="f0" line="427"/>
1670
+ <Field id="_599" name="connection_error" type="_675" offset="96" context="_325" access="public" location="f0:446" file="f0" line="446"/>
1671
+ <Field id="_600" name="message_to_user" type="_677" offset="128" context="_325" access="public" location="f0:457" file="f0" line="457"/>
1672
+ <Field id="_601" name="notify_main_thread" type="_676" offset="160" context="_325" access="public" location="f0:470" file="f0" line="470"/>
1673
+ <Field id="_602" name="music_delivery" type="_678" offset="192" context="_325" access="public" location="f0:491" file="f0" line="491"/>
1674
+ <Field id="_603" name="play_token_lost" type="_676" offset="224" context="_325" access="public" location="f0:509" file="f0" line="509"/>
1675
+ <Field id="_604" name="log_message" type="_677" offset="256" context="_325" access="public" location="f0:517" file="f0" line="517"/>
1676
+ <Field id="_605" name="end_of_track" type="_676" offset="288" context="_325" access="public" location="f0:527" file="f0" line="527"/>
1677
+ <Field id="_606" name="streaming_error" type="_675" offset="320" context="_325" access="public" location="f0:541" file="f0" line="541"/>
1678
+ <Field id="_607" name="userinfo_updated" type="_676" offset="352" context="_325" access="public" location="f0:548" file="f0" line="548"/>
1679
+ <Field id="_608" name="start_playback" type="_676" offset="384" context="_325" access="public" location="f0:561" file="f0" line="561"/>
1680
+ <Field id="_609" name="stop_playback" type="_676" offset="416" context="_325" access="public" location="f0:575" file="f0" line="575"/>
1681
+ <Field id="_610" name="get_audio_buffer_stats" type="_679" offset="448" context="_325" access="public" location="f0:587" file="f0" line="587"/>
1682
+ <Field id="_611" name="offline_status_updated" type="_676" offset="480" context="_325" access="public" location="f0:594" file="f0" line="594"/>
1683
+ <Field id="_612" name="offline_error" type="_675" offset="512" context="_325" access="public" location="f0:603" file="f0" line="603"/>
1684
+ <Field id="_613" name="credentials_blob_updated" type="_677" offset="544" context="_325" access="public" location="f0:614" file="f0" line="614"/>
1685
+ <Field id="_614" name="connectionstate_updated" type="_676" offset="576" context="_325" access="public" location="f0:621" file="f0" line="621"/>
1686
+ <Field id="_615" name="scrobble_error" type="_675" offset="608" context="_325" access="public" location="f0:629" file="f0" line="629"/>
1687
+ <Field id="_616" name="private_session_mode_changed" type="_680" offset="640" context="_325" access="public" location="f0:637" file="f0" line="637"/>
1688
+ <Destructor id="_617" name="sp_session_callbacks" artificial="1" throw="" context="_325" access="public" mangled="_ZN20sp_session_callbacksD1Ev *INTERNAL* " demangled="sp_session_callbacks::~sp_session_callbacks()" location="f0:393" file="f0" line="393" endline="393" inline="1">
1689
+ </Destructor>
1690
+ <OperatorMethod id="_618" name="=" returns="_681" artificial="1" throw="" context="_325" access="public" mangled="_ZN20sp_session_callbacksaSERKS_" demangled="sp_session_callbacks::operator=(sp_session_callbacks const&amp;)" location="f0:393" file="f0" line="393" endline="393" inline="1">
1691
+ <Argument type="_682" location="f0:393" file="f0" line="393"/>
1692
+ </OperatorMethod>
1693
+ <Constructor id="_619" name="sp_session_callbacks" artificial="1" throw="" context="_325" access="public" mangled="_ZN20sp_session_callbacksC1ERKS_ *INTERNAL* " demangled="sp_session_callbacks::sp_session_callbacks(sp_session_callbacks const&amp;)" location="f0:393" file="f0" line="393" endline="393" inline="1">
1694
+ <Argument type="_682" location="f0:393" file="f0" line="393"/>
1695
+ </Constructor>
1696
+ <Constructor id="_620" name="sp_session_callbacks" artificial="1" throw="" context="_325" access="public" mangled="_ZN20sp_session_callbacksC1Ev *INTERNAL* " demangled="sp_session_callbacks::sp_session_callbacks()" location="f0:393" file="f0" line="393" inline="1"/>
1697
+ <PointerType id="_621" type="_60c" size="32" align="32"/>
1698
+ <Field id="_622" name="playlist_added" type="_684" offset="0" context="_338" access="public" location="f0:3338" file="f0" line="3338"/>
1699
+ <Field id="_623" name="playlist_removed" type="_684" offset="32" context="_338" access="public" location="f0:3349" file="f0" line="3349"/>
1700
+ <Field id="_624" name="playlist_moved" type="_685" offset="64" context="_338" access="public" location="f0:3361" file="f0" line="3361"/>
1701
+ <Field id="_625" name="container_loaded" type="_686" offset="96" context="_338" access="public" location="f0:3369" file="f0" line="3369"/>
1702
+ <Destructor id="_626" name="sp_playlistcontainer_callbacks" artificial="1" throw="" context="_338" access="public" mangled="_ZN30sp_playlistcontainer_callbacksD1Ev *INTERNAL* " demangled="sp_playlistcontainer_callbacks::~sp_playlistcontainer_callbacks()" location="f0:3329" file="f0" line="3329" endline="3329" inline="1">
1703
+ </Destructor>
1704
+ <OperatorMethod id="_627" name="=" returns="_687" artificial="1" throw="" context="_338" access="public" mangled="_ZN30sp_playlistcontainer_callbacksaSERKS_" demangled="sp_playlistcontainer_callbacks::operator=(sp_playlistcontainer_callbacks const&amp;)" location="f0:3329" file="f0" line="3329" endline="3329" inline="1">
1705
+ <Argument type="_688" location="f0:3329" file="f0" line="3329"/>
1706
+ </OperatorMethod>
1707
+ <Constructor id="_628" name="sp_playlistcontainer_callbacks" artificial="1" throw="" context="_338" access="public" mangled="_ZN30sp_playlistcontainer_callbacksC1ERKS_ *INTERNAL* " demangled="sp_playlistcontainer_callbacks::sp_playlistcontainer_callbacks(sp_playlistcontainer_callbacks const&amp;)" location="f0:3329" file="f0" line="3329" endline="3329" inline="1">
1708
+ <Argument type="_688" location="f0:3329" file="f0" line="3329"/>
1709
+ </Constructor>
1710
+ <Constructor id="_629" name="sp_playlistcontainer_callbacks" artificial="1" throw="" context="_338" access="public" mangled="_ZN30sp_playlistcontainer_callbacksC1Ev *INTERNAL* " demangled="sp_playlistcontainer_callbacks::sp_playlistcontainer_callbacks()" location="f0:3329" file="f0" line="3329" inline="1"/>
1711
+ <PointerType id="_630" type="_168" size="32" align="32"/>
1712
+ <PointerType id="_631" type="_63" size="32" align="32"/>
1713
+ <PointerType id="_632" type="_439" size="32" align="32"/>
1714
+ <PointerType id="_633" type="_496" size="32" align="32"/>
1715
+ <Field id="_634" name="queued_tracks" type="_60" offset="0" context="_438" access="public" location="f0:350" file="f0" line="350"/>
1716
+ <Field id="_635" name="queued_bytes" type="_8" offset="32" context="_438" access="public" location="f0:351" file="f0" line="351"/>
1717
+ <Field id="_636" name="done_tracks" type="_60" offset="96" context="_438" access="public" location="f0:357" file="f0" line="357"/>
1718
+ <Field id="_637" name="done_bytes" type="_8" offset="128" context="_438" access="public" location="f0:358" file="f0" line="358"/>
1719
+ <Field id="_638" name="copied_tracks" type="_60" offset="192" context="_438" access="public" location="f0:364" file="f0" line="364"/>
1720
+ <Field id="_639" name="copied_bytes" type="_8" offset="224" context="_438" access="public" location="f0:365" file="f0" line="365"/>
1721
+ <Field id="_640" name="willnotcopy_tracks" type="_60" offset="288" context="_438" access="public" location="f0:371" file="f0" line="371"/>
1722
+ <Field id="_641" name="error_tracks" type="_60" offset="320" context="_438" access="public" location="f0:377" file="f0" line="377"/>
1723
+ <Field id="_642" name="syncing" type="_496" offset="352" context="_438" access="public" location="f0:382" file="f0" line="382"/>
1724
+ <Destructor id="_643" name="sp_offline_sync_status" artificial="1" throw="" context="_438" access="public" mangled="_ZN22sp_offline_sync_statusD1Ev *INTERNAL* " demangled="sp_offline_sync_status::~sp_offline_sync_status()" location="f0:345" file="f0" line="345" endline="345" inline="1">
1725
+ </Destructor>
1726
+ <OperatorMethod id="_644" name="=" returns="_689" artificial="1" throw="" context="_438" access="public" mangled="_ZN22sp_offline_sync_statusaSERKS_" demangled="sp_offline_sync_status::operator=(sp_offline_sync_status const&amp;)" location="f0:345" file="f0" line="345" endline="345" inline="1">
1727
+ <Argument type="_690" location="f0:345" file="f0" line="345"/>
1728
+ </OperatorMethod>
1729
+ <Constructor id="_645" name="sp_offline_sync_status" artificial="1" throw="" context="_438" access="public" mangled="_ZN22sp_offline_sync_statusC1ERKS_ *INTERNAL* " demangled="sp_offline_sync_status::sp_offline_sync_status(sp_offline_sync_status const&amp;)" location="f0:345" file="f0" line="345" endline="345" inline="1">
1730
+ <Argument type="_690" location="f0:345" file="f0" line="345"/>
1731
+ </Constructor>
1732
+ <Constructor id="_646" name="sp_offline_sync_status" artificial="1" throw="" context="_438" access="public" mangled="_ZN22sp_offline_sync_statusC1Ev *INTERNAL* " demangled="sp_offline_sync_status::sp_offline_sync_status()" location="f0:345" file="f0" line="345" inline="1"/>
1733
+ <PointerType id="_649" type="_691" size="32" align="32"/>
1734
+ <PointerType id="_650" type="_692" size="32" align="32"/>
1735
+ <PointerType id="_651" type="_693" size="32" align="32"/>
1736
+ <PointerType id="_652" type="_694" size="32" align="32"/>
1737
+ <PointerType id="_653" type="_695" size="32" align="32"/>
1738
+ <PointerType id="_654" type="_696" size="32" align="32"/>
1739
+ <PointerType id="_655" type="_697" size="32" align="32"/>
1740
+ <PointerType id="_656" type="_698" size="32" align="32"/>
1741
+ <PointerType id="_657" type="_699" size="32" align="32"/>
1742
+ <PointerType id="_658" type="_700" size="32" align="32"/>
1743
+ <ReferenceType id="_659" type="_19" size="32" align="32"/>
1744
+ <ReferenceType id="_660" type="_19c" size="32" align="32"/>
1745
+ <ArrayType id="_661" min="0" max="0u" type="_528" size="32" align="32"/>
1746
+ <ReferenceType id="_662" type="_62" size="32" align="32"/>
1747
+ <ReferenceType id="_663" type="_62c" size="32" align="32"/>
1748
+ <PointerType id="_666" type="_326c" size="32" align="32"/>
1749
+ <ReferenceType id="_667" type="_173" size="32" align="32"/>
1750
+ <ReferenceType id="_668" type="_173c" size="32" align="32"/>
1751
+ <ReferenceType id="_670" type="_193" size="32" align="32"/>
1752
+ <ReferenceType id="_671" type="_193c" size="32" align="32"/>
1753
+ <ReferenceType id="_672" type="_271" size="32" align="32"/>
1754
+ <ReferenceType id="_673" type="_271c" size="32" align="32"/>
1755
+ <PointerType id="_675" type="_707" size="32" align="32"/>
1756
+ <PointerType id="_676" type="_708" size="32" align="32"/>
1757
+ <PointerType id="_677" type="_709" size="32" align="32"/>
1758
+ <PointerType id="_678" type="_710" size="32" align="32"/>
1759
+ <PointerType id="_679" type="_711" size="32" align="32"/>
1760
+ <PointerType id="_680" type="_712" size="32" align="32"/>
1761
+ <ReferenceType id="_681" type="_325" size="32" align="32"/>
1762
+ <ReferenceType id="_682" type="_325c" size="32" align="32"/>
1763
+ <PointerType id="_684" type="_714" size="32" align="32"/>
1764
+ <PointerType id="_685" type="_715" size="32" align="32"/>
1765
+ <PointerType id="_686" type="_716" size="32" align="32"/>
1766
+ <ReferenceType id="_687" type="_338" size="32" align="32"/>
1767
+ <ReferenceType id="_688" type="_338c" size="32" align="32"/>
1768
+ <ReferenceType id="_689" type="_438" size="32" align="32"/>
1769
+ <ReferenceType id="_690" type="_438c" size="32" align="32"/>
1770
+ <FundamentalType id="_647" name="char" size="8" align="8"/>
1771
+ <CvQualifiedType id="_647c" type="_647" const="1"/>
1772
+ <CvQualifiedType id="_545c" type="_545" const="1"/>
1773
+ <CvQualifiedType id="_271c" type="_271" const="1"/>
1774
+ <CvQualifiedType id="_193c" type="_193" const="1"/>
1775
+ <CvQualifiedType id="_62c" type="_62" const="1"/>
1776
+ <CvQualifiedType id="_438c" type="_438" const="1"/>
1777
+ <FunctionType id="_707" returns="_545">
1778
+ <Argument type="_522"/>
1779
+ <Argument type="_445"/>
1780
+ </FunctionType>
1781
+ <FunctionType id="_708" returns="_545">
1782
+ <Argument type="_522"/>
1783
+ </FunctionType>
1784
+ <FunctionType id="_709" returns="_545">
1785
+ <Argument type="_522"/>
1786
+ <Argument type="_498"/>
1787
+ </FunctionType>
1788
+ <FunctionType id="_710" returns="_60">
1789
+ <Argument type="_522"/>
1790
+ <Argument type="_719"/>
1791
+ <Argument type="_576"/>
1792
+ <Argument type="_60"/>
1793
+ </FunctionType>
1794
+ <FunctionType id="_711" returns="_545">
1795
+ <Argument type="_522"/>
1796
+ <Argument type="_720"/>
1797
+ </FunctionType>
1798
+ <FunctionType id="_712" returns="_545">
1799
+ <Argument type="_522"/>
1800
+ <Argument type="_496"/>
1801
+ </FunctionType>
1802
+ <CvQualifiedType id="_325c" type="_325" const="1"/>
1803
+ <CvQualifiedType id="_326c" type="_326" const="1"/>
1804
+ <CvQualifiedType id="_173c" type="_173" const="1"/>
1805
+ <CvQualifiedType id="_174c" type="_174" const="1"/>
1806
+ <CvQualifiedType id="_501c" type="_501" const="1"/>
1807
+ <CvQualifiedType id="_418c" type="_418" const="1"/>
1808
+ <FunctionType id="_691" returns="_545">
1809
+ <Argument type="_495"/>
1810
+ <Argument type="_541"/>
1811
+ <Argument type="_60"/>
1812
+ <Argument type="_60"/>
1813
+ <Argument type="_543"/>
1814
+ </FunctionType>
1815
+ <CvQualifiedType id="_60c" type="_60" const="1"/>
1816
+ <FunctionType id="_692" returns="_545">
1817
+ <Argument type="_495"/>
1818
+ <Argument type="_621"/>
1819
+ <Argument type="_60"/>
1820
+ <Argument type="_543"/>
1821
+ </FunctionType>
1822
+ <FunctionType id="_693" returns="_545">
1823
+ <Argument type="_495"/>
1824
+ <Argument type="_621"/>
1825
+ <Argument type="_60"/>
1826
+ <Argument type="_60"/>
1827
+ <Argument type="_543"/>
1828
+ </FunctionType>
1829
+ <FunctionType id="_694" returns="_545">
1830
+ <Argument type="_495"/>
1831
+ <Argument type="_543"/>
1832
+ </FunctionType>
1833
+ <FunctionType id="_695" returns="_545">
1834
+ <Argument type="_495"/>
1835
+ <Argument type="_496"/>
1836
+ <Argument type="_543"/>
1837
+ </FunctionType>
1838
+ <FunctionType id="_696" returns="_545">
1839
+ <Argument type="_495"/>
1840
+ <Argument type="_60"/>
1841
+ <Argument type="_523"/>
1842
+ <Argument type="_60"/>
1843
+ <Argument type="_543"/>
1844
+ </FunctionType>
1845
+ <FunctionType id="_697" returns="_545">
1846
+ <Argument type="_495"/>
1847
+ <Argument type="_60"/>
1848
+ <Argument type="_496"/>
1849
+ <Argument type="_543"/>
1850
+ </FunctionType>
1851
+ <FunctionType id="_698" returns="_545">
1852
+ <Argument type="_495"/>
1853
+ <Argument type="_498"/>
1854
+ <Argument type="_543"/>
1855
+ </FunctionType>
1856
+ <FunctionType id="_699" returns="_545">
1857
+ <Argument type="_495"/>
1858
+ <Argument type="_547"/>
1859
+ <Argument type="_543"/>
1860
+ </FunctionType>
1861
+ <FunctionType id="_700" returns="_545">
1862
+ <Argument type="_495"/>
1863
+ <Argument type="_60"/>
1864
+ <Argument type="_498"/>
1865
+ <Argument type="_543"/>
1866
+ </FunctionType>
1867
+ <CvQualifiedType id="_19c" type="_19" const="1"/>
1868
+ <FunctionType id="_714" returns="_545">
1869
+ <Argument type="_526"/>
1870
+ <Argument type="_495"/>
1871
+ <Argument type="_60"/>
1872
+ <Argument type="_543"/>
1873
+ </FunctionType>
1874
+ <FunctionType id="_715" returns="_545">
1875
+ <Argument type="_526"/>
1876
+ <Argument type="_495"/>
1877
+ <Argument type="_60"/>
1878
+ <Argument type="_60"/>
1879
+ <Argument type="_543"/>
1880
+ </FunctionType>
1881
+ <FunctionType id="_716" returns="_545">
1882
+ <Argument type="_526"/>
1883
+ <Argument type="_543"/>
1884
+ </FunctionType>
1885
+ <CvQualifiedType id="_338c" type="_338" const="1"/>
1886
+ <PointerType id="_719" type="_272c" size="32" align="32"/>
1887
+ <PointerType id="_720" type="_194" size="32" align="32"/>
1888
+ <CvQualifiedType id="_272c" type="_272" const="1"/>
1889
+ <File id="f0" name="spec/support/api-linux.h"/>
1890
+ <File id="f1" name="/usr/local/share/gccxml-0.9/GCC/4.2/gccxml_builtins.h"/>
1891
+ <File id="f2" name="/usr/bin/../lib/clang/4.0/include/stdint.h"/>
1892
+ <File id="f3" name="/usr/bin/../lib/clang/4.0/include/stddef.h"/>
1893
+ </GCC_XML>